文章目录
- 内存管理
- 继承
- super
- 向上造型
内存管理
- 编写的xxx.java源码,编译为xxx.class字节码,由JVM(java解释器)来执行,JVM来对接不同的操作系统,实现一次编写,到处执行;
- JVM向操作系统申请内存,并向程序提供内存管理;
- JVM将内存分为,栈内存、堆内存、方法区内存;
堆:
- 存储所有new创建的对象(包含属性);当对象的引用为0时,gc垃圾回收器会不定时回收垃圾对象;
- System.gc() 加速垃圾回收;(garbage collection)
不用的对象及时赋值null,防止内存泄漏; - 开发者不用关心内存管理, JVM自带的垃圾回收线程自动回收垃圾;
栈:
- 存储函数执行时所有的局部变量;
- 函数调用,压栈(分配栈帧),执行结束,弹栈(局部变量销毁)
成员变量:
- 类内,方法外;
- 有默认值;
- new对象时,连同对象一起存入堆中,回收对象则消失;
局部变量:
- 方法内,没有默认值;
- 调用方法时,存于栈中,方法执行结束则消失;
方法区: - 存储类的信息;
- .class字节码文件
- 每个对象有自己的成员变量属性;
- 所有对象共享类中的方法;
继承
- 类的继承使用extends,实现代码的复用;
- 被继承的类叫父类,继承的类叫子类;
- 子类继承后具有父类的功能 + 自己的功能;
- java只能单继承,只能有一个父类;
- 继承的传递性,依次传给子类;
class People{
String name;
int age;
void run(){
System.out.println("running...");
}
}
class Man extends People{
String dep;
// 其他继承的属性、方法
}
super
向上造型
pass