天天看点

Java 学习进度TEXT02

package TEXT02;

public class TEXT02 {

public static void main(String[] args) {
	

}
           

}

/*

  • TEXT02:
  • 1.内存管理:由JVM来管理
  • 1)堆:
  • 1.1)专门用于存储new关键字所创建的对象(包括成员变量)
               
  • 1.2)成员变量的生命周期:
               
  • 创建(new)对象时存在堆中,对象被GC(JAVA自动回收垃圾)回收时一并消失 
               
  • 1.3)垃圾:没有任何引用所指向的对象
               
  • 垃圾回收器(GC)不定时到堆中扫描,看到垃圾则自动回收垃圾  。
               
  • 回收过程是透明的,并不是一看到垃圾就回收的。
               
  • 若想让它快一点回收,可以调用System.gc()     
               
  • 1.4)内存泄漏:不再使用的对象还没有被及时的回收
               
  • 建议:当对象不再使用时,应及时将引用设置为NULL
               
  • 2)栈:
  • 2.1)栈用于存储正在调用中的方法的所有局部变量(包括参数)
               
  • 2.2)调用方法时在栈中为该方法分配一块对应的栈桢。
               
  • 栈桢中包含所有的局部变量(包括参数),
               
  • 方法调用结束时,栈桢消失,局部变量一并消失
               
  • 2.3)局部变量的生命周期:
               
  • 调用方法时存在栈中,方法调用结束时与栈桢一并消失
               
  • 3)方法区:
  • 3.1)用于存储字.class节码文件(包括方法)
               
  • 3.2)方法只有一份,通过this来区分具体是哪个对象
               
  • 2.继承:(泛化的过程)
  • 1)目的:避免代码重复,有利于代码的重用
  • 2)通过extends实现继承
  • 3)父类/基类:所有子类中所共有的属性和行为
  • 子类/派生类:子类所特有的属性和行为
               
  • 4)子类继承父类后,子类将会具有:
  • 子类+父类
               
  • 5)一个父类可以有多个子类
  • 一个子类只能有一个父类-------单一继承
               
  • 6)继承具有传递性
  • 7)java规定:构造子类之前必须先构造父类
  • 子类的构造中,若没有调用父类的构造方法,则默认super()调用父类的构造方法
               
  • 若自己调了,则不再提供默认
               
  • super()调用父类构造方法,必须位于子类构造方法中的第一句
               
  • 3.super:指代当前对象的父类对象
  • 用法:
  • super.成员变量名-----访问父类的成员变量
               
  • super.成员名()------调用父类的方法
               
  • super()------------调用父类的构造方法,括号中能写值(如果父类中有有参构造)
               
  • 4.向上造型:
  • 1)父类型的引用指向子类的对象------父 a = new 子();
  • 2)能点出来什么,看引用的类型
  • 成员变量
  • 1.类中方法外
  • 2.new时存在堆中,对象被回收时消失
  • 3.有默认值
  • 局部变量
  • 1.方法中
  • 2.调方法时存在栈中,方法结束时与栈桢一并消失
  • 3.没有默认值
  • class Person{//父类
  • String name;
               
  • int age;
               
  • String address;
               
  • void set(){}
               
  • void sleep(){}
               
  • }
  • class Student extends Person{//子类
  • String className;
               
  • void study(){}
               
  • }
  • class Teacher extends Person{//子类
  • double salary;
               
  • void teach(){}
               
  • }
  • 继承的传递性
  • Coo中存在a,b,c
  • class Aoo{
  • int a;
  • }
  • class Boo extends Aoo{
  • int b;
  • }
  • class Coo extends Boo{
  • int c;
  • }

*/