天天看點

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;
  • }

*/