抽象类
在第16节继承中,有父类 People
People people=new People(); people.sayHi();实例化People是没有意义的,因为“人”是一个抽象的概念。
怎么才能避免父类的实例化呢?使用 abstract 关键字修饰类(抽象类)。
抽象父类
public abstract class People { private String name; public People(String name) { super(); this.name = name; } //人类共有方法 哭 public void cry() { System.out.println("呜呜"); } //抽象方法 不做具体实现 public abstract void sayHi(); public String getName() { return name; } public void setName(String name) { this.name = name; } }子类:Chinese.java
//中国人 public class Chinese extends People{ public Chinese(String name) { super(name); } //必须实现 @Override public void sayHi() { System.out.println(this.getName()+":你好!"); } }子类:Britisher.java
//英国人 public class Britisher extends People{ public Britisher(String name) { super(name); } @Override public void sayHi() { System.out.println(this.getName()+":Hello!"); } }测试类
public class TestPeople { public static void main(String[] args)
