接口是一種程序結構,是特殊的抽象類。接口中的方法必須都是公開的抽象方法(public abstract),接口中的屬性都是公開靜態常量(public static final)。
接口也可以繼承,但是隻能由接口繼承,在用類去繼承時要換用 implements 關鍵字,這時類和接口也不叫做繼承關係,而是實現關係,但其實質也是繼承。
一個類可以繼承也只能繼承另外一個類,但是可以實現多個接口,其語法是在implements後面寫接口名,多個接口以“,”分隔。
接下來一個例子說明:
① 設計學生信息管理接口StudentManageInterface。其中包括setFee()方法和getFee()方法,分別用於設置和獲取學生的每學期的學費,假設每學期的學費為整數;② 設計教師信息管理接口TeacherManageInterface。其中包括setPay()方法和getPay()方法,分別用於設置和獲取教師的月工資,假設月工資為整數;③ 設計在職研究生類Graduate,實現StudentInterface接口和TeacherInterface接口,它的成員變量有name(姓名)、sex(性別)、fee(每學期學費)、pay(月工資);④ 創建一個姓名為“張翠花”的女研究生,統計他的年收入和學費,如果每年的收入減去學費開銷不足20000元,則輸出“需要貸款!”的信息。
設計學生信息管理接口StudentManageInterface
設計教師信息管理接口TeacherManageInterface。
在職研究生類Graduate,實現StudentInterface接口和TeacherInterface接口,它的成員變量有name(姓名)、sex(性別)、fee(每學期學費)、pay(月工資);
它的成員變量有name(姓名)、sex(性別)、fee(每學期學費)、pay(月工資);
實現接口裡的方法
創建一個姓名為“張翠花”的女研究生,統計他的年收入和學費,如果每年的收入減去學費開銷不足20000元,則輸出“需要貸款!”的信息。
結果
以下為代碼
interface StudentManageInterface{
void setFree(int tuition);
int getFee();
void setFee(int tuition);
int getFree();
}
interface TeacherManageInterface{
void setPay(int salary);
int getPay();
}
class Graduate implements StudentManageInterface, TeacherManageInterface {
private String name;
private String sex;
private int fee;
private int pay;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public int getFee() {
return fee;
}
@Override
public void setFee(int tuition) {
this.fee = tuition;
}
@Override
public int getPay() {
return pay;
}
@Override
public void setPay(int salary) {
this.pay = salary;
}
public String getMessage(){
if((pay*12-fee)>20000){
return "這名研究生的名字是:"+name+",性別是:"+sex+",今年的學費是:"+fee+",年工資是:"+12*pay+",不需要貸款!";
}
return "這名研究生的名字是:"+name+",性別是:"+sex+",今年的學費是:"+fee+",年工資是:"+12*pay+",需要貸款!";
}
@Override
public void setFree(int tuition) {
// TODO Auto-generated method stub
}
@Override
public int getFree() {
// TODO Auto-generated method stub
return 0;
}
}
public class sy4_2 {
public static void main(String[] args) {
Graduate graduate = new Graduate();
//設置姓名
graduate.setName("張翠花");
//設置性別
graduate.setSex("女");
//設置每月工資
graduate.setPay(2500);
//設置每月學費
graduate.setFee(15000);
System.out.println(graduate.getMessage());
}
}
java接口的簡單使用 (共1篇)