-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSolution.java
More file actions
141 lines (106 loc) · 4.45 KB
/
Copy pathSolution.java
File metadata and controls
141 lines (106 loc) · 4.45 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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
//But the other disciples came in the little boat (for they were not far from the land, but about two hundred cubits away), dragging the net full of fish. (John 21:8)
------------------------------------------------------Solution.java-----------------------------------------------------------
package com.javarush.task.task24.task2411;
/*
Вспомним наследование
*/
public class Solution extends C {
private class A {
protected String value = "A";
public A() {
System.out.print(value);
}
}
private A a = new A() {
{ //у анонимных классов нет своих конструкторов, но что-то можно сделать в блоке инициализации класса
value = "Y";
if (super.getClass().getName().contains(".Solution$")) {
System.out.print(value);
}
}
};
public Solution() {
System.out.print("S");
}
public static void main(String[] args) {
new Solution();
}
}
------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------C.java--------------------------------------------------------------
package com.javarush.task.task24.task2411;
public class C implements JustAnInterface {
public C() {
System.out.print("C");
B localB = B;
}
}
------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------JustAnInterface.java------------------------------------------------------
package com.javarush.task.task24.task2411;
public interface JustAnInterface {
public static final B B = new B();
class B extends C {
public B() {
System.out.print("B");
}
}
}
------------------------------------------------------------------------------------------------------------------------------
/*
Вспомним наследование
Исправить наследование во всех классах, чтобы вывод метода main был CCBAYS.
Требования:
1. Вывод на экран должен соответствовать условию задачи.
2. Класс C должен поддерживать интерфейс JustAnInterface.
3. Класс B должен быть потомком класса C.
4. Класс Solution должен быть потомком класса C.
------------------------------------------------------Solution.java-----------------------------------------------------------
package com.javarush.task.task24.task2411;
/*
Вспомним наследование
*/
public class Solution {
private class A {
protected String value = "A";
public A() {
System.out.print(value);
}
}
private A a = new A() {
{ //у анонимных классов нет своих конструкторов, но что-то можно сделать в блоке инициализации класса
value = "Y";
if (super.getClass().getName().contains(".Solution$")) {
System.out.print(value);
}
}
};
public Solution() {
System.out.print("S");
}
public static void main(String[] args) {
new Solution();
}
}
------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------C.java--------------------------------------------------------------
package com.javarush.task.task24.task2411;
public class C {
public C() {
System.out.print("C");
B localB = B;
}
}
------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------JustAnInterface.java------------------------------------------------------
package com.javarush.task.task24.task2411;
public interface JustAnInterface {
public static final B B = new B();
class B {
public B() {
System.out.print("B");
}
}
}
------------------------------------------------------------------------------------------------------------------------------
*/