java之间父子之间的关系和实现类和接口之间的关系。

如果一个子类的变量和一个父类的的变量完全一样,则称这个子类的变量隐藏了父类的同名变量。
java仅支持类间的重继承。

父类和子类之间的引用

Person person=new Student();
对于属性来说: 会直接调用父类的属性,没有父类的属性会直接报错
对于静态属性来说:会直接调用父类的静态属性,没有直接报错。
对于方法来说:父子类要有相同的方法,有的话调用子类,子类没有默认调用父类的,父类没有直接报错
对于静态方法来说:父类直接调用父类的person的静态方法,静态没有直接报错
Student student=new Student();
对于静态属性来说:直接调用子类的静态属性,子类没有静态属性,直接调用子类的静态属性。
对于属性来说:和静态属性一样。
对于方法来说:查看子类是否有此方法,没有此方法调用子类方法
对于静态方法来说:和方法一样。

实现类和接口的引用

Animal ani=new Dog();
对于属性来说:会直接调用接口的属性,接口如果没有此属性直接会报错。
对于静态方法来说:接口类的静态方法只能通过类名调用。没有办法通过父类的引用调用和子类的实例调用。
对于default来说:首先查看实现类中是否有次同名的非default的方法名,有的话直接调用实现类的,没有的话直接调用接口的
对于普通方法来说:查看接口和实现类共有的方法,实现类由此相同的方法直接调用,如果实现类独有的方法,不能直接调用。

Dog dog=new Dog();
对于属性来说:先调用和接口同名的属性,如果不存在,则调用接口的属性。
对于静态方法来说:无法调用。
对于default方法来说:先查看实现类有没有同名方法,有点话调用子类的,没有的话调用父类的
对于普通方法:实现类直接调用实现的方法。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值