Java——抽象

喜歡就關注我吧,訂閱更多最新消息
目錄
定義
抽象類的特點
抽象類和抽象方法必須使用
abstract關鍵字修飾public abstract class 類名{}public abstract void eat{}抽象類中不一定有抽象方法,有抽象方法的類一定是抽象類。
抽象類不能實例化
實例化需參照多態(tài)的方式,通過子類對象實例化。抽象類的子類
要么重寫抽象類中所有的抽象方法
要么是抽象類
/*
動物類(父類,抽象類)
*/
public abstract class Animal {
public abstract void eat();
public void sleep(){
System.out.println("睡覺");
}
}
/*
貓類(子類)
*/
public class Cat extends Animal{
@Override
public void eat() {
System.out.println("貓吃魚");
}
}
/*
小狗類(子類,抽象類)
*/
public abstract class Dog extends Animal {
}
/*
測試類
*/
public class AnimalDemo {
public static void main(String[] args) {
//Animal a = new Animal();
Animal a = new Cat();
a.eat();
a.sleep();
}
}
抽象類的成員特點
成員變量(可以是變量或常量)
構造方法(不能實例化,用于子類訪問父類數(shù)據(jù)的初始化)
成員方法
可以有抽象方法:限定子類必須完成某些動作;
也可以有非抽象方法:提高代碼的復用性。
/*
動物類(父類,抽象類)
*/
public abstract class Animal {
private int age = 2;
private final String city = "HongKong";
public Animal() {
}
public void show() {
age = 3;
System.out.println(age);
//city = "HongKong";
System.out.println(city);
}
public abstract void eat();
}
/*
貓類(子類)
*/
public class Cat extends Animal {
@Override
public void eat() {
System.out.println("貓吃魚");
}
}
/*
測試類
*/
public class AnimalDemo {
public static void main(String[] args) {
Animal a = new Cat();
a.eat();
a.show();
}
}

評論
圖片
表情


