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没有初始化,那么取代码块中的值。

  • 匿名对象

相关内容

热门资讯

走进小城看消费丨江西资溪:低碳...   夏日时节下午4点,江西省抚州市资溪县大觉山景区漂流终点依然热闹。来自南昌的游客余鑫漂流结束后没有...
【中原晨会0625】市场分析专... 来源:市场资讯 (来源:中原证券研究所) 本期重点研报目录 【中原策略】市场分析:电子半导体领涨 ...
南向资金连买4日!低费率+可月... 6月25日早盘,港股红利资产震荡整理。截至11时14分,港股红利低波ETF招商(520550)下跌0...
618成交破百万!紫荆花用一套... 一年一度的618年中大促,是消费市场的晴雨表,也是品牌间最激烈的角力场。当各大品牌在直播间里铆足了劲...
原创 黄... 2026年6月25日的国际金价已经从前期的5500美元高点跌到4200美元下方,累计跌幅超过22%,...
英伟达CEO:Vera Rub... 截至9:38,中证半导体材料设备主题指数(931743)涨2.36%创新高;权重股中,中微公司涨3....
再被催债16亿!“钢铁大王”戴... 澎湃新闻记者 贺梨萍 因“铁本事件”入狱五年的戴国芳重返钢铁行业,但他并没有完成从阶下囚再到“钢铁大...
周三原油价格下跌 随着美国和伊朗在和平谈判中取得进展,越来越多的油轮公开穿越霍尔木兹海峡,原油在战时的价格上涨已经蒸发...
这种蛋白是大脑衰老的开关 这种蛋白是大脑衰老的开关 清晨,假设一位五十岁左右的王女士发现自己常常把手机放在熟悉的抽屉里又找不到...
信通院牵头算力Token出海生... 盘面上,截至11:04,中证科创创业50指数(931643)涨1.68%,创历史新高;权重股中,芯原...
海外 774 亿营收背后:日本... 文 | 游戏价值论 6月23日,彭博社报道了腾讯正在围绕出售多家日本游戏工作室少数股权开展谈判,包...
餐饮“抢人”大战:把店开到公交... 作者 |餐饮老板内参 内参君 医院、公交站、演唱会…餐饮品牌,正在无孔不入 在北京儿童医院,肯德基...
快讯 | 外资扫货!陈翊庭:港... 港交所行政总裁陈翊庭在接受《中国证券报》专访时指出,国际资本对中国资产的看法已彻底扭转,布局中国市场...
2777.77元!A股“股王”... 25日早盘,昨天创下历史新高的A股“股王”联讯仪器,今天上午继续走强,盘中股价再度刷新历史新高。 截...
原创 今... 欧洲自己的媒体直接下结论,欧盟衰退躲不掉,内部分裂拦不住,现在就连欧洲顶尖工业巨头,都偷偷在用中国的...
黄仁勋股东大会放言:本轮AI基... 在当地时间6月24日的英伟达(NVDA.O)2026年度股东大会上,股东批准了该公司全部10名董事会...
国际油价大跌 新华社消息, 纽约原油期货主力合约价格24日盘中跌破每桶70美元,为伊朗战事爆发以来首次。 市场分析...
马云带队插秧,什么信号? 一场别开生面的“务农”,让外界看到了一个不一样的阿里巴巴。 近日,阿里巴巴合伙人、高德董事长刘振飞在...
全球最大产能,最高丰度达99.... 本文转自【科技日报】; 6月23日,高丰度硼-10同位素技术暨产业化成果发布会在山东省东营市举办,全...
黄金大跳水!金饰克价年内暴跌近... 25日,现货黄金盘中震荡,截至发稿,报3985.070美元/盎司,跌0.17%。 当地时间24日,...