java内存管理与继承

对象内存管理:


1.编译好的java程序(.class)需要运行在JVM中。JVM内存分为“堆”,“栈”,“方法区”。
2.堆中存放所有new关键字创建的对象(包括成员变量)
3.成员变量的生命周期:创建对象时存放在堆中,对象被回收时一并消失。
4.内存泄漏是指不再实用的内存没有被及时回收。
5.栈:用于存储正在调用中方法的局部变量
6.一个栈侦对应的是正在调用中的方法,存放 方法的参数,局部变量
7.局部变量必须赋初始值
8.方法区中专门存放类(包括该类中所有方法)的信息,java程序运行时,
首先会通过类装载器载入文件的字节码(.class)信息,只装载一次
9.继承:
父类:所有子类所共有的属性和行为
(1)避免代码重复,利于复用,继承具有传递性
(2)java规定,构造子类之前必须先去构造父类,子类的构造中若没有调用
父类的构造,则默认super()调用父类无参构造。
重点:子类的构造方法中必须通过super关键字调用父类的构造方法,这样可以
妥善的初始化继承自父类的成员变量。如果子类的构造方法中没有调用父类的构造
方法,java编译器会自动加入对父类无参构造方法的调用(如果该父类没有无参的
构造方法,会有编译错误)Boo(){super();}
向上造型:父类型的引用指向子类的对象。

能点出什么,看引用的类型(通过父类的引用,只能访问父类所定义的成员)。

重写方法被调用时,看对象的类型(当子类的重写方法被调用时,无论是父类的引用还是子类的引用,调用的都是子类的重写方法)

重写遵循:两同两小一大

重写看对象,重载看引用

猜你喜欢

转载自blog.csdn.net/sdkdeveloper/article/details/77151593
今日推荐