加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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的第一次尝试,所以我在这里缺乏一些了解.

解决方法

在方法(或构造函数)参数中使用接口类型的巨大优势是其他程序员可以调用它并传入自己的实现接口的类.编写方法/构造函数时,您不了解的类以及哪些类甚至不存在.如果使用具体类,调用者必须使用这些类,子类化或更改代码,所有这些都比实现接口更多地限制它们.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读