1. 程式人生 > >java學習筆記----抽象類

java學習筆記----抽象類

java學習筆記(高琪版)

面向物件OOP

抽象類

抽象類必須要被繼承才有意義,他的結構能給子類一個模板,限制子類的設計。

注意:
只能定義抽象方法(類也要被定義為抽象類)
only public, protected, private, static, final, transient & volatile are permitted

抽象類不能被例項化,只能定義子類
Car mycar1 = new Car(); 報錯:Cannot instantiate the type Car

繼承抽象類的子類必須重寫父類中的抽象方法

定義Car抽象類,並且Benze和BMW為子類

package cn.lyr.oop.polymorphismAbustact;

public abstract class Car {
    String name;
    public abstract void run();
    public abstract void maxSpeed();
    public void show(){
        System.out.println(name);
    }
    public void star(){
        System.out.println("啟動啦!");
    }
}


class Benze
extends Car {
public void run(){ System.out.println("run benze"); } public void maxSpeed(){ System.out.println("maxSpeed is 290miles per hour"); } } class BMW extends Car{ public void run(){ System.out.println("run bmw"); } public void maxSpeed(){ System.out.println("maxSpeed is 270 miles per hour"
); } }

測試類

package cn.lyr.oop.polymorphismAbustact;

public class test01 {
    public static void main(String[]args){
      //Car mycar1 = new Car();  報錯:Cannot instantiate the type Car
        Car mycar2 = new Benze();
        mycar2.name = "京A00001";
        mycar2.show();
        mycar2.star();
        mycar2.run();
        mycar2.maxSpeed();

    }


}

println:
京A00001
啟動啦!
run benze
maxSpeed is 290miles per hour