歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java 中關於抽象類和接口的范例

Java 中關於抽象類和接口的范例

日期:2017/3/1 9:16:09   编辑:Linux編程

Java 中關於抽象類和接口的范例,通過多態中的向上轉移實現。

/*
*模板設計范例
*模擬人的兩個實例學生和工人
*/
abstract class Person{ //人的模板,抽象類

private String name; //人的共同屬性姓名
private int age; //人的共同屬性年齡

public Person(String name,int age){ //構造初始化人的基本屬性
this.name = name;
this.age = age;
}

public String getName(){
return this.name;
}

public int getAge(){
return this.age;
}

public void say(){ //人都有說話的功能
System.out.println(this.getContent());
}

public abstract String getContent(); //抽象方法,人說出的話會不同

}

class Students extends Person{ //繼承父類

private int score;

public Students(String name,int age,int score){ //初始化“學生”這個人,有特有屬性成績
super(name,age); //調用父類構造初始化基本數據
this.score = score;
}

public String getContent(){ //覆寫抽象方法,即這個學生的行為
return "學生信息:"+"姓名:"+super.getName()+" 年齡:"+super.getAge()+" 成績:"+this.score;
}
}

class Workers extends Person{ //繼承父類

private int salary;

public Workers(String name,int age,int salary){ //初始化“工人”這個人,有特有屬性成績
super(name,age); //調用父類構造初始化基本數據
this.salary = salary;
}

public String getContent(){ //覆寫抽象方法,即這個學生的行為
return "工人信息:"+"姓名:"+super.getName()+" 年齡:"+super.getAge()+" 薪水:"+this.salary;
}

}

public class Mbsj{
public static void main(String args[]){
Person p1 =null;
Person p2 =null;
p1 = new Students("張三",15,95); //采用對象的多態特性,向上轉移
p2 = new Workers("李四",28,4000);
p1.say();
p2.say();
}
}

Copyright © Linux教程網 All Rights Reserved