1.abstract
可以修飾:類、方法
(1)修飾類:
類不能被實例化;
抽象類一定有構造器,便于子類實例化時調用;
(2)修飾方法:抽象方法
只有方法的聲明,沒有方法體
有抽象方法的類一定得是抽象類
子類必須重寫父類的所有抽象方法才能實例化,否則也是抽象類
注意:
abstract不能用來修飾私有方法、靜態方法、final方法、final的類
2.抽象類的匿名子類的對象創建
import org.w3c.dom.ls.LSOutput;import java.sql.Connection; import java.sql.SQLOutput; import java.util.Arrays;public class Main {public static void main(String[] args) {new Person(){@Overridepublic void eat() {System.out.println("吃健康的食物");}@Overridepublic void breath() {System.out.println("呼吸新鮮的空氣");}}.eat();} } abstract class Person{String name;int age;public Person(){}public Person(String name, int age){this.name = name;this.age = age;}public abstract void eat();public abstract void breath();}
形式上與父類匿名對象創建相似,但是需要后接大括號進行重寫抽象方法;