Java之關鍵字abstract(抽象類與抽象方法)



/*
* abstract關鍵字的使用
* 1.abstract:抽象的
* 2.abstract可以用來修飾的結構:類、方法
*
* 3. abstract修飾類:抽象類
* > 此類不能實例化
* > 抽象類中一定有構造器,便於子類實例化時調用(涉及:子類對象實例化的全過程)
* > 開發中,都會提供抽象類的子類,讓子類對象實例化,完成相關的操作
*
*
* 4. abstract修飾方法:抽象方法
* > 抽象方法只有方法的聲明,沒有方法體
* > 包含抽象方法的類,一定是一個抽象類。反之,抽象類中可以沒有抽象方法的。
* > 若子類重寫了父類中的所有的抽象方法后,此子類方可實例化
* 若子類沒有重寫父類中的所有的抽象方法,則此子類也是一個抽象類,需要使用abstract修飾
*/
public class AbstractTest {
public static void main(String[] args) {

//一旦Person類抽象了,就不可實例化
// Person p1 = new Person();
// p1.eat();

}
}

abstract class Creature{
public abstract void breath();
}

abstract class Person extends Creature{
String name;
int age;

public Person(){

}
public Person(String name,int age){
this.name = name;
this.age = age;
}

//不是抽象方法:
// public void eat(){
//
// }
//抽象方法
public abstract void eat();

public void walk(){
System.out.println("人走路");
}


}


class Student extends Person{

public Student(String name,int age){
super(name,age);
}
public Student(){
}

public void eat(){
System.out.println("學生多吃有營養的食物");
}

@Override
public void breath() {
System.out.println("學生應該呼吸新鮮的沒有霧霾的空氣");
}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM