Ничего не понимаю.
Компилятору не нравятся статики перед интерфейсами и классами, но вроде же так и должно быть, не?
package com.javarush.task.task14.task1412;
/*
Реализовать метод printMainInfo
*/
public class Solution {
public static void main(String[] args) {
Object obj = new Circle();
Movable movable = (Movable) obj;
Drawable drawable = new Rectangle();
printMainInfo(drawable);
printMainInfo(movable);
}
public static void printMainInfo(Object object) {
//напишите тут ваш код
if (object instanceof Drawable){
((Drawable)object).draw();
}
else if (object instanceof Movable){
((Movable)object).move();
}
static interface Movable {
void move();
}
static class Circle implements Movable {
public void draw() {
System.out.println("Can be drawn");
}
public void move() {
System.out.println("Can be moved");
}
}
static interface Drawable {
void draw();
}
static class Rectangle implements Drawable {
public void draw() {
System.out.println("Can be drawn");
}
public void move() {
System.out.println("Can be moved");
}
}
}