java中的抽象类

abstract修饰的方法叫做抽象方法,抽象方法只有声明没有具体的实现(没有方法体);
abstract int abstractMethod(int a);
abstract修饰的类叫做抽象类;抽象类用来描述那些父类无法确定全部实现,而是由子类提供具体实现对象的类;
含有抽象方法的类叫做抽象类,抽象类可以有构造方法,但不能被实例化,是用来作为父类被子类继承的;
子类继承抽象类需要实现抽象类中的抽象方法,如果没有实现父类的抽象方法,那么子类也是一个抽象类;
抽象类不能用final修饰,final修饰的类不能被继承,而抽象类需要被继承才能使用其中的抽象方法;

抽象类:

public abstract class Employee {
       String name;
       int id;
       double salary;
       public Employee(){
    	   
       }
       public abstract void work();
}

这是一个抽象类,包括name和id两个变量,一个构造方法,和一个抽象的方法abstract。

class Manager extends Employee{
     double bonus;
	@Override
	public void work() {
		System.out.println("我是经理");
	}
public void setManagerInfo(String name,int id,double salary,double bonus){
		super.name = name;
		super.id = id;
		super.salary = salary;
		this.bonus = bonus;
	}
	public void ManagerInfo(){
		System.out.println(super.name);
		System.out.println(super.id);
		System.out.println(super.salary);
		System.out.println(this.bonus);
	}
}

这个子类继承了上面的抽象类,并且定义了一个新的变量bonus,重写了父类中的抽象方法。此外,还有setManagerInfo方法和ManagerInfo两个方法。

class CommonEmployee extends Employee{
	@Override
	public void work() {
		System.out.println("我是普通员工");
	}
	public void setCommonEmployeeInfo(String name,int id,double salary){
		super.name = name;
		super.id = id;
		super.salary = salary;
	}
	public void CommonEmployeeInfo(){
		System.out.println(super.name);
		System.out.println(super.id);
		System.out.println(super.salary);
	}
}
 CommonEmployee c = new CommonEmployee();//测试
    	   c.work();
    	   c.setCommonEmployeeInfo("张三", 111, 1234);
    	   c.CommonEmployeeInfo();

这是Employee的另一个子类。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值