Java接口类型作为构造函数参数
发布时间:2020-12-15 04:53:39 所属栏目:Java 来源:网络整理
导读:嗨 我正在学习 Java接口.我在 Java教程中读到一个接口是一个引用类型.假设我声明了一个界面 public interface INT { public void dosomething(); } 我有3个班,A {},B {}和C {}. class A{} implements INT. class B{} extends A{} and implements INT. class
嗨
我正在学习 Java接口.我在 Java教程中读到一个接口是一个引用类型.假设我声明了一个界面 public interface INT { public void dosomething(); } 我有3个班,A {},B {}和C {}. class A{} implements INT. class B{} extends A{} and implements INT. class C{} implement INT. 然后我有另一个具有构造函数的类D {} public class D{ private INT a,b,c ; public D( INT a1,INT b1,INT c1) { a = a1; b = b1; c = c1; } .... } 然后在main()中,我实例化一个D对象 D myobject = new D( new A(),new B(),new C() ); 据说,类层次结构不相关的对象可以用于使用接口相互交互.所以在上面的类中,C类和A类没有关联,现在界面允许它们相互“交谈”?我理解这是对的吗?还有什么其他优点来声明构造函数是接口类型而不是实际的类类型,而不是 private A a,B b,C c ; public D( A a1,B b1,C c1) { a=a1; b=b1;c=c1; } 这与多态性有关吗?对不起,这是我在OO的第一次尝试,所以我在这里缺乏一些了解. 解决方法
在方法(或构造函数)参数中使用接口类型的巨大优势是其他程序员可以调用它并传入自己的实现接口的类.编写方法/构造函数时,您不了解的类以及哪些类甚至不存在.如果使用具体类,调用者必须使用这些类,子类化或更改代码,所有这些都比实现接口更多地限制它们.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- App Engine java – Jersey / Jackson JaxbAnnotationIntro
- java – 从客户端超时的webservice调用
- 使用Build.java替换build.xml,使用Java和Ant库作为构建系统
- java实现验证码完整版
- java – “包应包含内容类型部分[M1.13]”
- java – 可以JLabel有img标签
- java – karaf中的Spring Jdbc声明式事务管理
- java – 工作sun.misc.BASE64Encoder /解码器获取字节[]
- java – 如何在Windows Server 2008下的本地系统帐户下运行
- JavaFX视频无法播放