У меня были небольшие проблемы с этой проблемой. Вопрос:
Напишите полную программу на Java, которая делает следующее:
- объявляет интерфейсы I1 и I2, оба с пустыми телами
- объявить интерфейс I3 с пустым телом, который расширяет оба вышеупомянутых интерфейса
- объявить интерфейс I4 с пустым телом
- класс X реализует I3 с пустым телом
- класс W с пустым телом реализует I4 и расширяет X
- create a class InstanceofTest that does the following in the main():
- Create an object w of class W.
- Используйте оператор instanceof, чтобы проверить, реализует ли объект w каждый из интерфейсов и имеет ли он тип X, и отобразите соответствующее сообщение.
Итак, вот что я придумал до сих пор:
public interface I1
{
}
public interface I2
{
}
public interface I3 extends I1, I2
{
}
public interface I4
{
}
public class W extends X implements I4
{
}
У меня небольшая путаница с методом InstanceofTest. Я знаю, что оператор instanceof сообщит вам, является ли определенный объект экземпляром определенного типа, например, когда вы делаете это следующим образом:
public class InstanceofTest
{
public static void main(String[] args)
{
W w = new W();
if (w instanceof X)
{
System.out.println("w is an instance of X.");
}
}
}
Проблема, с которой я сталкиваюсь, заключается в использовании instanceof
, чтобы увидеть, реализует ли w каждый из интерфейсов. Я понятия не имею, как я буду это делать. Любая помощь будет принята с благодарностью!
Редактировать: Итак, я должен сделать это так?
public class InstanceofTest
{
public static void main(String[] args)
{
W w = new W();
if (w instanceof X)
{
System.out.println("w is an instance of X.");
}
if (w instanceof I1)
{
System.out.println("w implements I1.");
}
if (w instanceof I2)
{
System.out.println("w implements I2.");
}
if (w instanceof I3)
{
System.out.println("w implements I3.");
}
if (w instanceof I4)
{
System.out.println("w implements I4.");
}
}
}
instanceof
можно использовать с типом интерфейса так же, как и дляX
. - person ajb   schedule 25.03.2014instanceof
и заменитеX
на каждыйinterface
. В чем проблема? - person Boris the Spider   schedule 25.03.2014myObject,getClass().getInterfaces()
, а затем вы можете проверить, какой элемент этого массива является вашим желаемым интерфейсом - person G3ntle_Man   schedule 21.09.2018