Java入门系列-18-抽象类和接口

 

抽象类

在第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) 

                    
                
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信