三個修飾符
一、abstract(抽象)
1.抽象方法只能在抽象的類里,只有方法的聲明,沒有方法的實現。(沒有{}直接;結尾)。
2.abstract修飾的類稱為抽象類。
注意:(1)抽象方法只能在抽象類中;
???????????(2)子類繼承抽象類,必須實現抽象類中所有的抽象方法,除非子類還是抽象類;
? ? ? ? ? (3)抽象類中即可以由抽象方法,也可以有非抽象方法;
3.抽象類的好處是可以強制使用多態。
package demo;
public class void main(){public static void main(String[] arge){Myclass mc;}
}
abstract class Myclass{int n;public void ma(){System.out.println("ma..方法...");}public abstract void ma();
}
二、static修飾符
1.static修飾的屬性稱為靜態屬性、類變量
類加載的時機
語法:static數據類型屬性名;
特點:類變量、被所有對象共享(與創建多少對象沒關系)
使用:類名靜態屬性名;
對象名.屬性名;//OK不建議使用
2.static修飾的方法稱為靜態方法、類方法
語法:static返回值類型方法名(形式參數列表){
使用:類名.靜態方法0);
對象名.方法名();//OK 不建議使用
注意:①static方法中只能直接訪問靜態成員(屬性和方法),不能直接訪問非靜態成員(必須通過
???????????對象名,來訪問非靜態成員)
???????????②靜態方法只能被靜態方法覆蓋,且沒有多態
???????????③靜本故法中不能使用this.和 super
三、final修飾符
1.final(最終的、最后的)可修飾變量(局部變量、實例變量、類變量):
作用范圍內常量,只允許一次性賦值。基本數據類型變量的值不允許改變,引用類型地址不允許改變。
????????①final修飾實例變量:沒有默認值。
????????賦值的位置:a.在聲明的時候對其初始化
??????????????????????????????b.在構造方法中對其初始化
????????②final修飾的類變量:沒有默認值
????????賦值的位置:a.在聲明的時候對其初始化
? ? ? ? ????????? ? ? ? ? ? ?b.在靜態代碼塊中對其賦值
2.final修飾的方法:為最終方法,不能被覆蓋,可以重載
3.final修飾的類:不能被繼承,沒有子類