抽象类

继承关键词:extends
接口关键词:implements
抽象关键词:abstract

  1. 父类的实例调用子类的方法
  2. 判断实例是否属于某类
  3. 重写父类方法

E033
如果员工为人事类,则还需向控制台输出如下格式信息:
“HR的雇员等级为:”+ 人事的职级 + “,” + 人事的薪水补贴信息

public void appraisals(Employe emp) {
    emp.work();
    if(emp instanceof Hrstaff)
     System.out.println("HR的雇员等级为:"+emp.getLevel()+","+((Hrstaff)emp).lookupSalary(emp.getLevel())); 
   }

父类的实例调用子类的方法
"Hrstaff类"是"Employe类"的子类;
“lookupSalary(int level)” 是"Hrstaff类"的方法函数;
而"emp"是"Employe类"的实例;
可用:

((Hrstaff)emp).lookupSalary(emp.getLevel())

判断实例是否属于某类

emp instanceof Hrstaff

重写父类方法
在Hrstaff类中重写work方法:
1)该方法需具有Employe类(父类)同名方法的处理能力
2)还需向控制台输出信息:雇员名字 + " 平时需要组织员工多参加运动。"。
3)本方法使Hrstaff既具有Employe工作内容又具有个性化工作内容。

重写父类方法时,既要有父类方法的处理能力
又需要自己的个性化内容
super.方法

public void work() {
  super.work();
  System.out.println(getName()+"平时需要组织员工多参加运动。");
   }

Interfaces 接口
常表示一种“行为”。
只包含常量和抽象方法。(无构造器)
接口类的实现类,必需要实现接口的所有方法。

public interface SeekJob {
 float SEEKER_AVERAGE_SCORE=85.0f;
 public String getName() ;
 public float getSeekerAverage();
}

什么时候用class或Interfaces

  • class:一种强属于关系;水果—苹果
  • interfaces:属性/行为;吃
  • 在继承关系中如果向继承多个类,只能用interfaces。
    因为在Java中基本都是单继承关系。而可以多接口使用。

abstract class 抽象类

  • 只要有抽象函数就是抽象类。
  • 需要加abstract关键词
  • uml图中用斜体
  • 如要继承抽象类,一定要重新定义抽象方法,无论是否要用到。
  • 抽象类不能创建对象
  • 抽象类的父类可以为具体类
  • 具体方法可以被重写成抽象方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值