java學習筆記----抽象類
阿新 • • 發佈:2019-01-03
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