Java 面向对象多态&重写&接口 抽象

多态

多态注意事项

  1. 多态是方法的多态,属性没有多态
  2. 父类和子类,有联系 ,类型转换异常! ClassCastException
  3. 存在条件:继承关系,方法需要重写,弗雷引用指向子类对象! Father f1 = new Son();
  • static 修饰的方法属于类,不属于实例,所以不能多态
  • final 常量,…
  • private 方法: 不能多态


当继承没有重写父类方法时,多态执行父类方法。

在这里插入图片描述



当子类重写父类方法时:多态执行子类方法
在这里插入图片描述




重写

添加static 之后的是重写,无关多态,各自执行各自的方法,不加是继承
重写只能是public,不能是private,将父子类的修饰改成private之后 @Override就报错了

重写的子父类之间 修饰符关系
重写后 只能变大 不能变小
例如:父类是private 子类是public或者protected
public > Protected > Default > private

* 抛出的异常范围: 可以被缩小,但不能扩大; ClassNotFoundException ----> Exception(大) 
【暂未遇到 想起来再补】

在这里插入图片描述
重写修饰符关系演示:
在这里插入图片描述


抽象

含有抽象方法的class必须是抽象类
实现抽象类的 必须实现抽象类所有的抽象方法,除非自己也是抽象类。

在这里插入图片描述

接口

接口不能被实例化~,接口中没有构造方法~
implements可以实现多个接口
必须重写接口中的方法

public interface B{
	void add(String name);
	void delete(String name);
	void update(String name);
	void query(String name);
}

实现

接口可以 多继承
public class A implements B,C{
	// 重写他俩的所有抽象方法
}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值