点击链接:
思维导图中的某些java概念具体说明:
1、实例变量和类变量 ,链接:
- 实例变量:在类的声明中,属性是用变量来表示的,这种变量就称为实例变量。也叫对象变量也叫成员变量,即没加static的变量
- 实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。
- 类变量:又叫静态变量,即加了static的变量,不需要创建对象就已经在内存中存在了
- 区别:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果(因为所有的对象都共用一个类变量,内存中只有一处空间是放这个类变量值的。因此,如果一个对象把类变量值改了,另外一个对象再取类变量值就是改过之后的了。)。实例变量则属对象私有,某一个对象将其值改变,不影响其他对象(因为在创建实例对象的时候,内存中会为每一个实例对象的每一个非静态成员变量开辟一段内存空间,用来存储这个对象所有的非静态成员变量值。即使两个不同的实例对象是属于同一个class类,但是它们的同名非静态成员变量在内存中占用的空间是不同的。 )。
以下例子作为说明:
2、抽象类、抽象方法、接口
抽象类:特殊的类,但不能被实例化(new),即不能用来创建对象,既能有抽象方法,也可有普通方法
抽象方法:没有方法体的方法(有声明,没实现),只能声明在抽象类中,声明抽象方法时,不能使用virtual、static、private修饰符。
接口:是一个特殊的抽象类(只有匿名内部类接口实现才能new),只能包含静态常量属性,只能包含抽象方法,接口不能继承抽象类,抽象中可能存在普通方法,但抽象类能继承接口。