當前位置:編程學習大全網 - 源碼下載 - 請編寫壹個程序,以演示抽象類和接口。

請編寫壹個程序,以演示抽象類和接口。

Java源代碼:

//演示類

public class Demo {

public static void main(String[] args) {

Employee emp; //抽象類對象

IPromotable prog; //接口對象

emp = new Intern("張三其", 3000, 3);

emp.print();

System.out.println();

prog = new Programmer("張三其", 5400, 30);

((Employee)prog).print();

prog.promote();

System.out.println();

prog = new Manager("張三其", 8000, "李師煊");

((Employee)prog).print();

prog.promote();

System.out.println();

}

}

//抽象雇員基類

abstract class Employee{

protected String name; //姓名

protected int salary; //年薪

abstract void print();

}

//晉升接口

interface IPromotable{

void promote();

}

//優秀員工接口

interface IGoodEmployee{

void promote();

}

//實習生類

class Intern extends Employee{

protected int periodOfInternship; //實習期

public Intern(String name, int salary, int periodOfInternship){

this.name = name;

this.salary = salary;

this.periodOfInternship = periodOfInternship;

}

@Override

public void print() {

System.out.println("實習生信息:");

System.out.println("姓名:" + this.name);

System.out.println("年薪:" + this.salary);

System.out.println("實習期(月):" + this.periodOfInternship);

}

}

//程序員類

class Programmer extends Employee implements IPromotable{

protected int averageOT; //平均加班時間

public Programmer(String name, int salary, int averageOT){

this.name = name;

this.salary = salary;

this.averageOT = averageOT;

}

@Override

public void promote() {

System.out.println("您當前的職務是程序員,即將晉升為經理!");

}

@Override

public void print() {

System.out.println("程序員信息:");

System.out.println("姓名:" + this.name);

System.out.println("年薪:" + this.salary);

System.out.println("平均加班時間(小時/月):" + this.averageOT);

}

}

//經理類

class Manager extends Employee implements IGoodEmployee, IPromotable{

protected String secretaryName; //助理姓名

public Manager(String name, int salary, String secretaryName){

this.name = name;

this.salary = salary;

this.secretaryName = secretaryName;

}

@Override

public void promote() {

System.out.println("您已經是經理了,不能馬上獲得晉升!");

}

@Override

public void print() {

System.out.println("經理信息:");

System.out.println("姓名:" + this.name);

System.out.println("年薪:" + this.salary);

System.out.println("助理姓名:" + this.secretaryName);

}

}

  • 上一篇:小白自學JAVA怎麽入門?
  • 下一篇:碰碰胡是什麽?
  • copyright 2024編程學習大全網