hi Я узнаю о интерфейсах 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 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;
}
....
}
, а затем в главной(), я создать экземпляр класса Д объект
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, поэтому мне здесь не хватает понимания.
Прочитайте о соглашениях об именах Java. INT - это имя константы. –
Его просто пример. Соглашения об именах исключены – ghostdog74