今天发现遗忘好久的抽象类今天拿出来晒晒

首先定义抽象类Person.java

  1. package test;  
  2.  
  3. public abstract class Person {  
  4.     // 抽象出人的属性  
  5.     private String name;// 名字  
  6.     private int age;// 年龄  
  7.     private String language;// 语言  
  8.  
  9.     public String getName() {  
  10.         return name;  
  11.     }  
  12.  
  13.     public void setName(String name) {  
  14.         this.name = name;  
  15.     }  
  16.  
  17.     public int getAge() {  
  18.         return age;  
  19.     }  
  20.  
  21.     public void setAge(int age) {  
  22.         this.age = age;  
  23.     }  
  24.  
  25.     public String getLanguage() {  
  26.         return language;  
  27.     }  
  28.  
  29.     public void setLanguage(String language) {  
  30.         this.language = language;  
  31.     }  
  32.  
  33.     // 抽象类中构造方法  
  34.     public Person() {  
  35.         System.out.println("我是抽象父类!");  
  36.     }  
  37.  
  38.     // 抽象类中的普通方法  
  39.     public void run() {  
  40.         System.out.println("开始跑动");  
  41.     }  
  42.  
  43.     // 抽象说话方法  
  44.     public abstract void speak();  
  45. }  

然后写个子类Chinese.java 继承父类Person.java

  1. package test;  
  2.  
  3. public class Chinese extends Person {  
  4.       
  5.     //生成构造方法,如果父类为抽象类 并有构造方法 子类必须生成构造  
  6.     public Chinese(int age, String name, String language) {  
  7.         super();  
  8.         // TODO Auto-generated constructor stub  
  9.         this.setAge(age);  
  10.         this.setName(name);  
  11.         this.setLanguage(language);  
  12.     }  
  13.     /**  
  14.      * @param args  
  15.      */ 
  16.     public static void main(String[] args) {  
  17.         // TODO Auto-generated method stub  
  18.         Person ps=new Chinese(22,"小沈阳","你好,我是小沈阳");  
  19.         System.out.println("姓名:"+ps.getName());  
  20.         System.out.println("年龄:"+ps.getAge());  
  21.         System.out.println("说话:"+ps.getLanguage());  
  22.         ps.run();  
  23.         ps.speak();  
  24.     }  
  25.     //重写父类方法  
  26.     public void speak() {  
  27.         // TODO Auto-generated method stub  
  28.         System.out.print("我说的是汉语");  
  29.     }  
  30.  
  31. }  

呵呵 这样看就容易理解了吧