面向对象编程
什么是面向对象
创建对象内存分析
-
栈像是容器,用来存放系统调用变量如引用(对象地址:即对象名);
-
堆用来存放对象和数组元素
-
默认初始化:char:u0000;引用:null;数字:0;
封装
- 当在一个类里访问其他类属性时,私有属性无法被访问,需要在其它类里提供访问操作这些属性的方法。
注意:同一包下两个类里的private属性可以被访问
继承
Super详解
方法重写
多态
父类引用指向子类对象优点:(1)向上转型:父类引用(父类声明)=(指向)子类对象即子类对象转换为父类(自动转换);(2)多态:方法的重写、重载与动态连接构成多态性。(3)动态链接:当父类中的一个方法只有在父类中定义而在子类中没有重写的情况下,才可以被父类类型的引用调用; 对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将会调用子类中的这个方法,这就是动态连接。
Instanceof 和类型转换
static关键字详解
抽象类
接口的定义与实现
接口的作用:
-
接口作为约束
-
接口定义一些没有实现的方法,让不同的人去实现
-
接口中的方法默认为public abstract类型,属性默认为public static final类型(一般不在接口定义属性)默认类型修饰符可以省略
-
接口不能被实例化,因为不是类没有构造方法
-
使用implements来实现多个接口(多继承)
-
实现接口的类必须重写接口中的方法
内部类
在内部类前加static关键字变为静态内部类,和类一起加载,不能再调用外部类方法