什么时候会发生类加载?
(一个类只会发生一次)
1. 使用类 访问静态变量
2. 使用类 调用静态函数
3. new类的构造方法()
静态变量会在类加载的时候初始化
非静态变量不会在类加载的时候初始化
对象是什么?程序运行时使用new关键字在堆区中创建的一种数据结构
对象的数据机构一定不一样吗?
不一定。用同一个类的构造方法构造的对象数据结构一样。
不同的对象在堆区中的地址一定不一样
1.写源代码时候(没产生)
2.编译字节码的时候(没产生)
3.运行的时侯----->产生对象
类和对象的关系 1.在数量上一对多
2.在存储位置上类 静止时存储在磁盘 ,运行的时候加载到方法区
对象 静止时没有对象 ,运行时创建在堆区
面向对象三大特性属性(Property):指的就是类的成员变量,非静态变量k
1.类的抽象抽象是设计类的过程,根据现实世界物理或逻辑存在的某一类事务进行抽象
1)抽象类的特征:用属性来描述出来
2)抽象类的行为:用方法来描述出来
2.类的封装禁止把对象的属性暴露给外部访问,因为外部在赋值时候可能会赋一个非法的值。
1)使用private私有化属性不直接对外暴露对象中属性的读写操作,改为对外部暴露一组setter和getter方法。
private封装:对外部的函数、方法不可见,对内部的函数、方法可见。
2)为属性添加setter和getter方法setter:
方法名必然叫setXXX,方法有参数,方法没有返回值
getter:
方法名必然叫getXXX,方法没有参数,方法有返回值
3)在外部使用这样的语法修改对象的属性指针.属性 = 值 ====》 指针.set属性(值);
在外部使用这样的语法读对象的属性
指针.属性 = 值 ====》 指针.get属性() ;
3.一个标准的JAVA类
public class 类名{
//private 成员变量
//public 成员方法
//public 构造方法
//public setter 设值器和getter读值器
}



