java接口转型成类_java——接口、多态性、对象转型

本文探讨了Java接口的默认方法、静态方法和私有方法的用途,强调了默认方法在接口升级时的优势。同时,讲解了多态性的概念,包括成员变量和方法的访问规则,以及多态在代码中的实际应用。此外,还讨论了向上转型的优缺点和`instanceof`关键字的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接口定义:

01313d643d3001c3f024b4ab4afb4758.png

6debb591adcb651b5c7a96e522bab12b.png

默认方法:

39c4c18fe2976d2c19c554be90a742fc.png

默认方法的作用:

如果在你的接口已经投入使用了,这个时候你想要在接口里面加一个方法,这个时候如果你加一个抽象方法的话,所有实现类都要改变源代码(因为实现类要把接口中的所有抽象方法都写一遍,不写就会出错)。但是如果你使用的默认方法,就相当于这个方法已经在接口中定义好了,然后你可以在其他实现类中直接继承下来(当然也可以覆盖重写),这样实现类就可以在不改变源代码的基础上面使用这个方法。

静态方法:

9f19a0ef8079c0078425a8e3d8181575.png

3ef439c127f2bdd8f5edb186da49c651.png

私有方法:

5b1cda2bede8343ddea0ffbdf5ea73c1.png

接口中常量(常量一旦赋值不能改变,变量则不一样):

72c16dd26a683e1143027550023345b8.png

总结:

dd7969e9feede0b6b0f87c4fcc168f2c.png

继承父类并实现接口:

7aaac0aae629eed8d2cd506c452385a8.png

a3f1250661bb13df9c6d06c5e71b124a.png

多态性定义:

a6818b1a4779511c2184beb2aacf0aa0.png

feb5d27158ac5a63544bcc53ac779b7b.png

成员变量的访问:

2f51a658684894d0f9dd5e138019c953.png

方法属于谁看的是new关键字后面的类

多态和之前继承的调用规则一模一样,实例:

1 public classfu {2 int num=10;3 public voidshow(){4 System.out.println("父类方法");5 }6 }7 public class zi extendsfu{8 int num=20;9 public voidshow(){10 System.out.println("子类方法");11 }12 }13 import staticjava.lang.Long.sum;14

15 public classMain {16

17 public static voidmain(String[] args) {18 zi one = new zi(); //20 父类方法 这里时最后面两行代码的结果

19 fu one = new zi(); //10 子类方法

20 System.out.println(one.num);21 one.show();22 }23

24 }25

成员方法的访问(和之前有不同):

041d1d7e7162a211a38894919ce7ac02.png

596942821f1612b786a3f0852cfff69e.png

d27dc3b291ce42469af92cc8493f2985.png

上面的obj.methodZi这个代码会报错,因为编译的时候看的是左(Fu obj),这个时候Fu中没有methodZi这个方法,所以都执行不到“运行看右(new Zi)这个代码”

多态性的好处(感觉不出来好在哪里T_T):

79c1b6cff24f899ab31cfd937e455e40.png

向上/下转型:

向上转型缺点:转型过后可能子类的某些特有方法无法使用

954ae05961a0591b3400e96c8e7d6877.png

38c3d2e155cb581cc9908643f7129c2d.png

instanceof的使用:

c970a47fec4dd65e954abb17b9478af2.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值