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