JAVA 抽象类练习

package com.lin_abstract_02;
//测试类
public class Test1 {
	public static void main(String[] args) {
		//测试程序员类:抽象类多态
		//无参+setXXX
		Employee  p=new Programmer();
		p.setEmpName("张三");
		p.setEmpId("200231");
		p.setEmpSalary(9999);
		p.work();
		System.out.println(p.getEmpName()+"--"+p.getEmpId()+"---"+p.getEmpSalary());
		Programmer pg=(Programmer)p;
		pg.workThinking();
		System.out.println("----------");
		//有参构造方法传递
		p=new Programmer("李四","45652",99999);
		p.work();
		System.out.println(p.getEmpName()+"--"+p.getEmpId()+"---"+p.getEmpSalary());
		Programmer pg2=(Programmer)p;
		pg.workThinking();
		System.out.println("---------------------------------------------");
		/*//测试经理类
		//无参+setXXX
		Employee p1=new Manger();
		p1.setEmpName("赵武");
		p1.setEmpId("25551");
		p1.setEmpSalary(89988);
		p1.work();
		Manger pg3=(Manger)p1;
		pg3.setBonus(2000);
		pg3.talk();
		System.out.println(p1.getEmpName()+"--"+p1.getEmpId()+"---"+p1.getEmpSalary()+"--"+pg3.getBonus());
		System.out.println("---------------------");
		//有参构造方法传递
		p1=new Manger("赵武","25551",89988,2000);
		p1.work();
		System.out.println(p1.getEmpName()+"--"+p1.getEmpId()+"---"+p1.getEmpSalary()+"--"+pg3.getBonus());*/
		//直接创建对象
		Manger m=new Manger();
		m.setBonus(50);
		m.setEmpId("789456");
		m.setEmpName("赵四");
		m.setEmpSalary(789);
		m.talk();
		
		System.out.println(m.getEmpName()+"--"+m.getEmpId()+"---"+m.getEmpSalary()+"--"+m.getBonus());
	}
}
package com.lin_abstract_02;
//抽象的员工类
public abstract class Employee {
	private String empName;
	private String empId;
	private int empSalary;
	//无参构造:alt+shift+s--->c
	public Employee() {
		super();

	}
	//有参构造:alt+shift+s-->o
	public Employee(String empName, String empId, int empSalary) {
		super();
		this.empName = empName;
		this.empId = empId;
		this.empSalary = empSalary;
	}
	public String getEmpName() {
		return empName;
	}
	public void setEmpName(String empName) {
		this.empName = empName;
	}
	public String getEmpId() {
		return empId;
	}
	public void setEmpId(String empId) {
		this.empId = empId;
	}
	public int getEmpSalary() {
		return empSalary;
	}
	public void setEmpSalary(int empSalary) {
		this.empSalary = empSalary;
	}
	//工作方法
	public abstract void work();
}

 

package com.lin_abstract_02;
//经理类
public class Manger extends Employee {
	//特有属性
	private int bonus;
	
	public int getBonus() {
		return bonus;
	}
	public void setBonus(int bonus) {
		this.bonus = bonus;
	}

	public Manger() {
		 super();
	}
	public Manger(String empName, String empId, int empSalary,int bonus) {
		super(empName, empId, empSalary);
		this.bonus=bonus;
	}
	@Override
	public void work() {
		System.out.println("谈项目");
	}
	//特有功能
	public void talk() {
		System.out.println("经常和甲方沟通");
	}
}
package com.lin_abstract_02;

public class Programmer extends Employee {

	public Programmer() {
		super();
		// TODO Auto-generated constructor stub
	}

	public Programmer(String empName, String empId, int empSalary) {
		super(empName, empId, empSalary);
		// TODO Auto-generated constructor stub
	}

	@Override
	public void work() {
		System.out.println("敲代码");

	}
	public void workThinking() {
		System.out.println("追求完美");
	}
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值