內容:抽象、介面、多態 ######################################################################################################### 1、抽象 Abstract 方法抽象了,那麼類也得抽象抽象類不能 ...
內容:抽象、介面、多態
#########################################################################################################
1、抽象 Abstract
方法抽象了,那麼類也得抽象
抽象類不能通過new對象
只有子類覆蓋了所有的抽象方法後,子類才能通過new創建對象,如果沒有覆蓋所有的抽象方法,那麼子類還是一個抽象類
抽象關鍵字abstract和final,private,static不能共存
1 class ChouXiang 2 { 3 public static void main(String[] args) 4 { 5 Programmer p = new Programmer("jiang","ji357",7600); 6 Manager m =new Manager("x","g009",12000,60000); 7 p.work(); 8 m.work(); 9 p.show(); 10 m.show(); 11 } 12 } 13 14 abstract class Employee 15 { 16 private String name; 17 private String id; 18 private double salary; 19 20 Employee(String name,String id,double salary) 21 { 22 this.name = name; 23 this.id = id; 24 this.salary = salary; 25 } 26 abstract void work(); 27 void show() 28 { 29 System.out.println("name:"+name+", id:"+id+", salary:"+salary); 30 } 31 } 32 33 class Programmer extends Employee 34 { 35 Programmer(String name,String id,double salary) 36 { 37 super(name,id,salary); 38 } 39 void work() 40 { 41 System.out.println("code"); 42 } 43 } 44 45 class Manager extends Employee 46 { 47 private double bonus; 48 Manager(String name,String id,double salary,double bonus) 49 { 50 super(name,id,salary); 51 this.bonus = bonus; 52 } 53 void work() 54 { 55 System.out.println("manage"); 56 } 57 }eg1
###########################################################################################################
2、介面interface
介面的成員有兩種:1、全局變數,2、抽象方法
interface Inter{ public static final int PI = 3.141592653589793 ; public abstract void show1(); public abstract void show2(); } class De implements Inter{ public void show1(){} public void show2(){}
1 class JieKouD 2 { 3 public static void main(String[] args) 4 { 5 SubInter s = new SubInter(); 6 s.show1(); 7 s.show2(); 8 } 9 } 10 11 interface InterA 12 { 13 public abstract void show1(); 14 } 15 16 interface InterB 17 { 18 public abstract void show2(); 19 } 20 21 class SubInter implements InterA,InterB 22 { 23 public void show1() 24 { 25 System.out.println("show1"); 26 } 27 public void show2() 28 { 29 System.out.println("show2"); 30 } 31 }View Code
############################################################################################################
3、多態
多態:也就是繼承過後,類型的問題,比如有 Zi類 和 Fu類, Fu f = new Zi(); 這種那麼 f 對象不能使用Zi類的特有方法,當通過強制轉換過成Zi類型就可以使用子類的方法了。
類用戶描述事物的共性基本功能
介面用於定義事物的額外功能