Java类和对象
创始人
2025-05-31 11:50:39
0

类名是大驼峰

下面是一个类

 类中name和age不要赋值,因为一个类可以创建多个对象。

变量定义在类中函数中的叫局部变量,定义在类中的函数外的叫成员变量。

成员变量的访问需要对象的引用来访问。

 实例化:

由类产生一个对象。 person是一个引用变量,new创建出来的才是对象。

所以person 也可以指向空,代表不指向任何对象。

类占内存吗?

代码片段放在方法区,调用类中函数时函数会占内存,我们不用考虑类占不占内存,考虑类中成员进行。 

上面的name和age都是普通成员变量。

下面的是静态成员变量。

 

 

 count是静态成员变量,多个对象有相同的count。

静态成员变量也叫类变量。静态成员变量不是放在堆中,而是被放到方法区的。

方法区:1存储代码的片段。

一个类对应一个字节码文件,字节码文件会被加载到内存中,这个内存是JVM,可以使用类加载器加载字节码文件,加载后,方法区会存字节码文件。类相关的信息,存到方法区中。

静态成员成员变量也存在方法区。

它可以用Person直接访问。

 使用静态成员变量也可以不用创建对象。

类中的静态成员变量会报错。

 1.static定义的变量,类变量,属于类。

2.eat方法的调用,需要引用进行调用,但是如果可以定义static变量,Person就可以调用。

静态成员函数中定义静态成员变量也不行。因为static是属于类的,这样定义就属于方法了。

普通方法里能调用静态方法。

 静态方法内部不能调用普通方法。

static是类变量,不能在函数中定义。

静态函数可以调用静态函数

让一个普通函数属于一个对象后,就能在静态函数中调用了。

main函数为什么是静态的 ?

main函数是不是静态的都行,这个取决于JVM,用static是规定。

引用不一定在栈上。 

person是类的成员变量,new Person()在堆上会开辟新的内存,不在test对象里,test对象里只存了person的引用,person的引用不在栈上,在对象上,对象在堆上。

 一个变量属于哪里,和是否被final修饰无关,被static修饰的变量在方法区中。


我们打印对象的引用。

 结果如下

为什么是这样?我们转到定义看看。

 最底层是这样的。

 那如果我们在类中使用这个函数返回呢?

 

 结果是这样的。

 我们也可以让他自动生成。

这种让对象转变为字符串叫序列化。

字符串转为序列化叫反序列化。

正常被public修饰的成员变量是能被修改的。 

 而被private修饰后,就被封装了,类外就不能被修改了。

 

现在只有一个办法在类外获取或者改变name。

 

封装后,使用时只需要关注外面接口就行了,里面如何实现的使用是不需要关心,这样变得更安全了。

如果这样写是自己给自己赋值。

 下面这样才是给成员变量赋值。

 如果成员变量较多,外面该怎么大量生成操作这些变量的函数呢?

同样使用生成功能。

  •  构造方法

方法名和类名相同,切构造方法没有返回值。

一个对象的产生第一步会为对象分配内存,第二步是调用合适的构造方法。

合适意味构造方法不止一个。

之前没写任何构造方法,编译器会默认生成一个不带参数的构造方法。 

 构造方法之间可以构成重载。

下面这个this代表当前对象是错误的。因为构造方法结束后,对象才产生。

 看个使用this的例子。

注意上面这种使用this调用构造函数的方法只能在构造函数中使用。 

  •  代码块

 代码块包括本地代码块,实例代码块,静态代码块,同步代码块等。

我们主要学习实例代码块,静态代码块。

 代码块是怎么被调用的?

 在类中,代码块是默认最先调用的。

静态代码块只会执行一次。 

不实例化对象,静态代码块也能被调用。 


 

 

 

如果都是静态 ,那么count值和顺序有关。

如果count没有初始化,那么取代码块中的值。

  • 匿名对象

相关内容

热门资讯

AI“重启”TCL? TCL经历了一个缺乏增长的2024财年。 公司年报显示,2024年TCL全年营业收入为1648.23...
福建大哥卖充电桩:年入5.93... 作者丨铅笔道 黄小贵 7月18日,上海挚达科技发展股份有限公司(下称挚达科技)在港交所递交招股书,拟...
靖江农商银行:金融“活水”润泽... 靖江农商银行以金融创新精准滴灌当地特色消费场景,通过打造常态化惠民平台与支持主题消费活动“双轮驱动”...
1.2万亿雅江水电工程开工!工... 7月22日A股市场迎来戏剧性收盘表现。临近尾盘时分,多个板块突然发力上涨,其中工程机械板块表现最为抢...
香港金融管理局对三家银行采取纪... 北京商报讯(记者 孟凡霞 实习记者 周义力)7月22日,香港金融管理局宣布,根据《打击洗钱及恐怖分子...
原创 突... 美国突然变卦了!就在中美贸易谈判进入关键阶段,美国财长贝森特冷不防抛出新要求——打算在协议里硬塞两条...
深圳新晋13家独角兽企业,福田... 7月18日,2025中国(深圳)独角兽企业大会发布《GEI中国独角兽企业研究报告2025》和《深圳市...
汇划1180亿元!“跨境理财通... 7月21日,记者从人民银行广东省分行获悉,“跨境理财通”自2021年启动以来,极大地促进了粤港澳大湾...
秦洪看盘|热门主线波动不改A股... 来源:澎湃新闻 周二A股市场出现了探底回稳的走势。 早盘由于银行股的疲软,主要股指一度翻绿,升势有受...
股票行情快报:美凯龙(6018... 证券之星消息,截至2025年7月22日收盘,美凯龙(601828)报收于3.07元,上涨0.66%,...
原创 煜... 在全球能源格局加速演变、国内“双碳”目标持续深化的大背景下,电力行业正站在变革的前沿。2025年是“...
星环科技拟港交所上市:年亏损额... 近日,科创板上市公司星环科技(688031.SH)发布公告称,为进一步提高公司综合竞争力,更好地利用...
中国启动水电珠峰水利隧道工程!... 2025年7月,中国雅江集团的成立和雅鲁藏布江下游水电工程的开工,标志着世界水电史迎来新的里程碑。 ...
OpenAI CEO:Deep... 【环球网科技综合报道】7月22日消息,据windowscentral报道称,OpenAI 首席执行官...
国家外汇局贾宁:未来外资配置人... 7月22日,国家外汇管理局国际收支司司长贾宁在国新办新闻发布会上表示,未来外资配置人民币资产仍具有较...
并购 | 深度拆解地方国资收购... 一、交易背景 2023年9月20日晚间,上海雅仕投资发展股份有限公司(以下简称“上海雅仕”)公告称...
21日豆二上涨0.19%,最新... 来源:新浪期货 新浪期货 根据交易所数据,截至7月21日收盘主力合约豆二2509,涨跌+0.19%,...
兴证资管国企红利优选混合发起式... AI基金兴证资管国企红利优选混合发起式A(023169)披露2025年二季报,第二季度基金利润112...
专访新辰商业集团联合创始人及C... 在当前商业环境持续变革的背景下,社区商业正逐步成为商业领域的重要发展方向。新辰商业作为这一领域的后起...