die if else castet result von A auf C, keine ahnung wieso, nur weiss ich auch nicht was das programm sonst von mir will?
original steht da:
p<<<<.getClass().getSimpleName()
package de.codegym.task.task19.task1928;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
/*
Korrigiere den Fehler. Klassen und Interfaces
*/
public class Solution {
{
System.out.println("Das ist die Solution-Klasse");
}
public static void main(String... args) throws IOException {
try (
FileOutputStream outputStream = new FileOutputStream(args[0]);
InputStream is = Solution.class.getClassLoader().getResourceAsStream(args[1]);
) {
;
byte[] b = new byte[is.available()];
outputStream.write(is.read(b));
int value = 123_456_789;
System.out.println(value);
Example result = null;
String s = "a";
switch (s) {
case "a": {
result = new Solution().new A();
break;
}
case "b": {
result = new Solution().new B();
break;
}
case "c": {
result = new Solution().new C();
break;
}
}
if (result instanceof A) {
//C p = (C) result;
System.out.println(result.getClass().getSimpleName());
}
} catch (IOException e) {
}
}
interface Example {
}
class A implements Example {
{
System.out.println("Das ist die A-Klasse");
}
}
class B implements Example {
{
System.out.println("Das ist die B-Klasse");
}
}
class C extends A {
{
System.out.println("Das ist die C-Klasse");
}
}
}