■A.java
//宣言時にfinalが付いているクラスは継承できない
public final class A extends Y {
public void a() {
System.out.print("Aa");
}
public void b() {
System.out.print("Ab");
}
public void c() {
System.out.print("Ac");
}
}
■B.java
```java
public class B extends Y {
public void a() {
System.out.print("Ba");
}
public void b() {
System.out.print("Bb");
}
public void c() {
System.out.print("Bc");
}
}
■X.java
public interface X {
void a();
}
■Y.java
public abstract class Y implements X {
public abstract void a();
public abstract void b();
}
■Main23.java
public class Main23 {
public static void main(String[] args) {
X obj = new A();
//練習 13-3
A obj1 = new A();
B obj2 = new B();
Y[] objj = new Y[2];
objj[0] = new A();
objj[1] = new B();
for(Y temporaryVariable : objj) {
temporaryVariable.b();
}
}
}
■実行結果
AbBb