?? abstractinnerclass.java
字號(hào):
/*【例4-25】 定義一個(gè)“部門”外部類Department,然后在其中定義
* 員工“抽象內(nèi)部類”AbstractEmployee,以定制其屬性和輸入輸出服務(wù),
* “員工”成員類Employee繼承了抽象類AbstractEmployee,成員類Employee
* 能方便地訪問其外部類Department的“部門、員工號(hào)”信息,并對(duì)工號(hào)自動(dòng)編號(hào)。
*/
//程序清單4-25: AbstractInnerClass.java
package e4_25;
import java.util.Scanner;
public class AbstractInnerClass {
public static void main(String[] args) {
Department department = new Department("計(jì)算機(jī)系");// 創(chuàng)建部門實(shí)例
// 為該部門創(chuàng)建第一名員工
Department.Employee employee1 = department.new Employee();
employee1.input();// 輸入員工信息
employee1.output();// 輸出員工信息
// 為該部門創(chuàng)建第二名員工
Department.Employee employee2 = department.new Employee();
employee2.input();// 輸入員工信息
employee2.output();// 輸出員工信息
}
}
class Department {// 外部類Department
private String eDeparment;// 部門成員變量
private static int eCount = 0;// 部門員工編號(hào)器
public Department(String eDepartment) {// 外部類構(gòu)造方法
this.eDeparment = eDepartment;
}
// 內(nèi)部抽象類AbstractEmployee,定制輸入輸出服務(wù)
abstract class AbstractEmployee {
String eID;// 工號(hào)
String eName;// 姓名
double ePay;// 工資
abstract void input();
abstract void output();
}
// 實(shí)例成員類Employee,并繼承內(nèi)部抽象類bstractEmployee
class Employee extends AbstractEmployee {
public void input() {// 實(shí)現(xiàn)輸入員工信息方法input()
eID = new Integer(++eCount).toString();
Scanner sin = new Scanner(System.in);
System.out.print("請(qǐng)輸入姓名:");
eName = sin.next();
System.out.print("請(qǐng)輸入工資:");
ePay = sin.nextDouble();
}
public void output() {// 實(shí)現(xiàn)輸出員工信息方法onput()
System.out.println("工號(hào):" + eID + "\t姓名:" + eName + "\t部門:"
+ eDeparment + "\t工資:" + ePay);
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -