JAVA有三大特性:封裝锨侯,繼承和多態(tài)
一斤斧、 封裝
封裝就是將類的信息隱藏在類內(nèi)部源哩,不允許外部程序直接訪問鞋吉,而是通過該類的方法實現(xiàn)對隱藏信息的操作和訪問。
-
封裝的實現(xiàn)
a. 需要修改屬性的訪問控制符(修改為private)励烦;
b. 創(chuàng)建getter/setter方法(用于屬性的讀寫)谓着;
c. 在getter/setter方法中加入屬性控制語句(用于判斷屬性值的合法性);
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 }
二、 繼承
繼承是類與類的一種關(guān)系坛掠,比較像集合中的從屬于關(guān)系赊锚。比如說,狗屬于動物屉栓。就可以看成狗類繼承了動物類舷蒲,那么狗類就是動物類的子類(派生類),動物類就是狗類的父類(基類)友多。在Java中是單繼承的,也就是說一個子類只有一個父類纵柿。
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 }
三沟使、 多態(tài)
多態(tài)指的是對象的多種形態(tài)。多態(tài)有兩種:引用多態(tài)和方法多態(tài)渊跋。繼承是多態(tài)的實現(xiàn)基礎(chǔ)腊嗡。
1.引用多態(tài)
父類的引用可以指向本類的對象燕少;父類的引用可以指向子類的對象蒿囤。
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 }
- 方法多態(tài)
創(chuàng)建父類對象時,調(diào)用的方法為父類方法岳守;
創(chuàng)建子類對象時碌冶,調(diào)用的方法是子類重寫的方法或繼承自父類的方法扑庞;
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 }
注意:不允許通過父類的引用調(diào)用子類獨有的方法租悄。