1. 程式人生 > 實用技巧 >遊戲背景音樂的種類—動態音效

遊戲背景音樂的種類—動態音效

抽象類:抽象類是程勳設計的結果

特點:

1.通過java關鍵字 abstract實現

2.可以修飾方法或者類

3.抽象類中 可以 沒有抽象方法(由子類去實現) ---外界不能例項化

4.如果類中沒有抽象方法 那該類必須定義一個抽象類

5.子類繼承了抽象類後,要麼是一個抽象類,要麼將所有抽象的方法重寫

6.用於多型中

7.抽象類不可以被例項化

public class C4 {
public static void main(String[] args) {
//Animal a = new Animal;//抽象不能被new
Animal a = new Cat();
a.eat();//宣告是用父類的,但是方法體還是子類的,如果沒重寫就是父類的

a.sleep();
}

}

//1.抽象是一個特殊類 特殊在 類裡可以有普通方法 還可以有抽象方法
abstract class Animal {
//沒有方法體的方法 叫 抽象方法,用abstract修飾
abstract public void eat();//有宣告,沒有方法體

//方法要不要抽象 --看需要不需要 提供方法體
public void sleep() {
System.out.println("sleep");
}
}

//子類要麼 繼承抽象類,然後就是一個抽象類
abstract class Dog extends Animal {

}

//要麼重寫抽象方法

class Cat extends Animal {

@Override
public void eat() {
System.out.println("no eat");
}
}
----------------------------------------------------
例2
//抽象類的使用
public class C5 {
public static void main(String[] args) {
Pig p = new Pig();
System.out.println(p.name);
System.out.println(p.PI);
}
}

abstract class Animal1{
public Animal1(){
System.out.println("父類 無參構造");
//抽象類裡 可有構造方法 ---有什麼用/

//給子類 new
}
//抽象類裡 可以有變數嗎? 可以有常量嗎 ? -- 都可以有
String name = "123";//可有變數
public static final double PI = 3.1415;//可有參量
//抽象類裡可以有普通方法嗎? 可以有抽象方法嗎? -- 都可以有
//抽象類裡可以都是普通方法嗎 ? 可以都是抽象方法嗎? -- 都可以有
}

class Pig extends Animal1{
//預設有個無參構造
/*public Pig(){
//預設有個super();
System.out.println("子類 無參");
}*/
}