-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSolution.java
More file actions
108 lines (81 loc) · 2.71 KB
/
Solution.java
File metadata and controls
108 lines (81 loc) · 2.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
package com.javarush.task.task15.task1520;
//For even Christ didn't please himself. But, as it is written, "The reproaches of those who reproached you fell on me." (Romans 15:3)
/*
Тренировка мозга
*/
public class Solution {
public static void main(String[] args) {
Duck duck = new Duck();
Util.fly(duck);
Util.move(duck);
}
public static class Duck implements Flyable, Movable {
@Override
public void doAction() {
System.out.println("flying");
}
public void doAnotherAction () {
System.out.println("moving");
}
}
public static class Util {
static void fly(Flyable animal) {
animal.doAction();
}
static void move(Movable animal) {
animal.doAnotherAction();
}
}
public static interface Flyable {
void doAction();
}
public static interface Movable {
void doAnotherAction();
}
}
/*
Тренировка мозга
Найти логическую ошибку: утка(Duck) должна корректно реализовывать интерфейс Movable.
Исправьте ошибку.
Результат вывода в консоль должен быть:
flying
moving
Требования:
1. Результат вывода на экран должен соответствовать условию.
2. В классе Duck должен быть реализован метод doAnotherAction.
3. Метод doAnotherAction() в классе Duck должен выводить на экран строку "moving".
4. Метод move в классе Util должен вызывать метод doAnotherAction у переданного ему объекта.
5. Класс Duck должен реализовывать интерфейс Movable.
6. Класс Duck должен реализовывать интерфейс Flyable.
package com.javarush.task.task15.task1520;
*
Тренировка мозга
*
public class Solution {
public static void main(String[] args) {
Duck duck = new Duck();
Util.fly(duck);
Util.move(duck);
}
public static class Duck implements Flyable, Movable {
@Override
public void doAction() {
System.out.println("flying");
}
}
public static class Util {
static void fly(Flyable animal) {
animal.doAction();
}
static void move(Movable animal) {
animal.doAction();
}
}
public static interface Flyable {
void doAction();
}
public static interface Movable {
void doAnotherAction();
}
}
*/