- 类,具有相同特征的一类事务的描述,对现实事务的抽象定义,是一个模板
- 对象,类的具体实现,也称实例
- 类的三方面:
- 封装,体现给属性和方法设成私有和保护类型来保护数据
- 继承
- 多态
- 抽象(对象中产生类),不属于三方面,属于总的概括
- 类的组成,
- 属性,成员变量,类中使用属性来描述事务的特征
- 构成,修饰符,类型,变量名
- 方法,成员方法,类中使用方法来描述事务的行为
- 构成,修饰符,类型,方法名
- 构造方法,类中没有构造器就会产生默认无参构造器,
- 特点
- 方法名和类名一致,构造方法名是唯一允许首字符大写
- 无返回值,甚至连void也没有
- 不能被abstract,static,synchronized,native… 修饰
- 不能像普通方法一样随意调用
- 注:
- 什么也不做,类中自己调用用this来代替,
- 每个类都有构造器。(自动添加或者手动添加)
- this必须为第一个语句。(若包含的化)
- 全参构造器,参数为全部属性的构造器
- 无参构造器,没有参数的构造器
- 子类不继承父类的构造器
- 特点
- 块,静态块和实例块
- 内部类,在内部声明的类
- 属性,成员变量,类中使用属性来描述事务的特征
- 学习面向对象的三条主线
- java类号类成员
- 面向对象的三大特征
- 其他关键字,new,break,continue,package,import,等
- 类的区别,
- new()则生成一个新对象,成员变量new的时候虚拟机会初始化其中的成员变量,可以进行显式赋值,int不显式赋值则初始化为零,String不赋值则为null,引用类型不赋值则为null。
- 对象名为引用类型,存的是存放对象的地址,大小取决于jvm的位数,或可称之为引用变量
- 引用变量互相赋值,被覆盖的地址会被回收,即,对象实际地址不变,赋值会改变引用变量存储的地址
- 内存,对象在堆中,引用变量在栈中,
- 栈,Stack,方法调用
- 堆,Heap,创建对象
- 方法区/永久区(jvm运行期间不变)
- 类模板,方法等
- gc区,对象创建,分配数据空间
- gc管理器,要负责清理无用的对象(没有引用的对象)
- 方法区/永久区(jvm运行期间不变)
- 对象的创建过程
- 在堆方法区中检查要创建对象的类模板
- 如果不存在,则加载类模板
- 如果存在,则不加载,保证类模板只有一个
- 依据类模板中属性的定义,在gc区中开辟空间
- 把此空间初始化,全部清为零,String为null
- 如果属性有显式赋值,则赋值
- 执行构造方法,入栈执行,执行完
- 返回对象地址
- 调用对象方法,方法名入栈,指向堆中的方法区
- new(),给给对象在堆里(gc管理区)开辟内存空间;
- this,代表本对象,直接加()为构造函数,不能随意调用,this.为本对象成员,可以调用属性和方法,一般在set给成员变量赋值时使用。区别变量名使用。
java中的类
最新推荐文章于 2024-07-15 08:28:07 发布