Java—继承、接口、抽象、super、浅拷贝和深拷贝(简单理解)

  1. 父类的实例调用子类的方法
  2. 判断实例是否属于某类
  3. 接口
  4. 抽象
  5. super
  6. 浅拷贝和深拷贝

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

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

 if(emp instanceof Hrstaff)
     System.out.println("HR的雇员等级为:"+emp.getLevel()+","+((Hrstaff)emp).looupSalary(emp.getLevel()));

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

((Hrstaff)emp).looupSalary(emp.getLevel())

判断实例是否属于某类

emp instanceof Hrstaff

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图中用斜体
  • 如要继承抽象类,一定要重新定义抽象方法,无论是否要用到。
  • 抽象类不能创建对象
  • 抽象类的父类可以为具体类
  • 具体方法可以被重写成抽象方法

super
一、super关键字作用

1:主要存在于子类方法中,用于指向子类对象中父类对象。
2:访问父类的属性
3:访问父类的函数
4:访问父类的构造函数

二、使用

  • 无参构造函数:隐式调用—可写可不写
public Employe() {
  super();
 }
  • 有参构造函数:显示调用
public  Hrstaff(String name)
 {
  super(name,5, 5000);
 }
  • 调用父类的函数

重写父类方法时用super.方法
子类既有父类方法的功能,又有自己个性化的功能。

public void work() //父类
{
  System.out.println(name+"按领导的要求完成任务!");
}
public void work()//子类
 {
  super.work();
  System.out.println(getName()+"平时需要组织员工多参加运动。");
 }

浅拷贝和深拷贝

  • 浅拷贝:

拷贝指向对象的指针,对象公用一个内存。

  • 深拷贝:

复制对象空间和资源,源对象与拷贝对象互相独立。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值