java有三大特性:封裝,繼承和多態。java
1、 封裝測試
1. 封裝就是將類的信息隱藏在類內部,不容許外部程序直接訪問,而是經過該類的方法實現對隱藏信息的操做和訪問。this
2. 封裝是怎麼實現的呢?spa
a. 須要修改屬性的訪問控制符(修改成private);code
b. 建立getter/setter方法(用於屬性的讀寫);對象
c. 在getter/setter方法中加入屬性控制語句(用於判斷屬性值的合法性);blog
1 public class Student{ 2 private float score; 3 public void setScore(float score){ 4 this.score = score; 5 } 6 public float getScore(){ 7 return score; 8 } 9 }
2、 繼承繼承
繼承是類與類的一種關係,比較像集合中的從屬於關係。好比說,狗屬於動物。就能夠當作狗類繼承了動物類,那麼狗類就是動物類的子類(派生類),動物類就是狗類的父類(基類)。在Java中是單繼承的,也就是說一個子類只有一個父類。get
1 //父類:動物類 2 public class Animal{ 3 public int age; 4 public String name; 5 public void eat(){ 6 System.out.println("動物具備吃東西的本領!"); 7 } 8 } 9 //子類:狗類 10 public class Dog extends Animal { 11 12 }
3、 多態class
多態指的是對象的多種形態。多態有兩種:引用多態和方法多態。繼承是多態的實現基礎。
1.引用多態
父類的引用能夠指向本類的對象;父類的引用能夠指向子類的對象。
1 //父類:動物類 2 public class Animal{ 3 public int age; 4 public String name; 5 public void eat(){ 6 System.out.println("動物具備吃東西的本領!"); 7 } 8 } 9 //子類:狗類 10 public class Dog extends Animal { 11 12 } 13 //測試類 14 public class Test{ 15 public static void main(String[] args) { 16 //父類的引用能夠指向本類的對象 17 Animal ani1 = new Animal(); 18 //父類的引用能夠指向子類的對象 19 Animal ani2 = new Dog(); 20 } 21 }
2. 方法多態
建立父類對象時,調用的方法爲父類方法;
建立子類對象時,調用的方法是子類重寫的方法或繼承自父類的方法;
1 //父類:動物類 2 public class Animal{ 3 public int age; 4 public String name; 5 public void eat(){ 6 System.out.println("動物具備吃東西的本領!"); 7 } 8 } 9 //子類:狗類 10 public class Dog extends Animal { 11 public void eat(){ 12 System.out.println("狗是吃肉的。"); 13 } 14 } 15 //測試類 16 public class Test{ 17 public static void main(String[] args) { 18 //父類的引用能夠指向本類的對象 19 Animal ani1 = new Animal(); 20 //父類的引用能夠指向子類的對象 21 Animal ani2 = new Dog(); 22 //輸出動物具備吃的本領 23 ani1.eat(); 24 //輸出狗是吃肉的 25 ani2.eat(); 26 } 27 }
注意:不容許經過父類的引用調用子類獨有的方法。