java多态和接口实例
·
interface IPayable{
public int getSalary();
}
class ThirdCompany implements IPayable{
@Override
public int getSalary() {
return 100000;
}
}
abstract class Employee implements IPayable{
private String name;
public String getName() {
return name;
}
public Employee(String name)
{
this.name = "@" + name + "@" ;
}
public abstract int getSalary();
}
class Developer extends Employee{
private int salary;
public Developer(String name, int salary)
{
super(name);
this.salary = salary;
}
@Override//方法重写注解
public int getSalary() {
return salary;
}
}
class HourlyWorker extends Employee{
private int hours;//这个月工作了多少小时
public int getHours() {
System.out.println(this.getClass().getSimpleName());
return hours;
}
public HourlyWorker(String name, int hours)
{
super(name);
this.hours = hours;
}
@Override
public int getSalary() {
return 30*hours;
}
}
public class Main2 {
// static void paySalary(Developer developer){
// System.out.println(developer.getSalary());
// }
static void paySalary(IPayable hourlyWorker){
System.out.println(hourlyWorker.getSalary());
}
public static void main(String[] args) {
IPayable developer = new Developer("张二",5000);
IPayable hourlyWorker = new HourlyWorker("冯六",200);
IPayable thirdCompany = new ThirdCompany();
Employee employee = new HourlyWorker("wangwu",11);
System.out.println(((HourlyWorker)hourlyWorker).getHours());
paySalary(thirdCompany);
paySalary(developer);
paySalary(hourlyWorker);
}
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)