V
Verzweifelter Schüler ;)
Gast
Sers Leute,
hab mal Paar aufgaben bekommen und nun wollte ich mal fragen ob ihr über die Antworten drüber schauen könntet?
Hier mal die Aufgabe
ClassA
Class B
ClassC
So und nun die FrageStellung
So das ist Aufgabe 1 von 11 gewesen ^^ meine Antworten dazu sind
Ich hoffe es hatt jmd bisschen Zeit und schut da mal drüber und vorallem evt schaut ihr euch ja die anderen 10 Aufgaben ja auch durch ^^
DICKES THX schonmal an alle die sich daran zu schafen machen.
hab mal Paar aufgaben bekommen und nun wollte ich mal fragen ob ihr über die Antworten drüber schauen könntet?
Hier mal die Aufgabe
ClassA
Code:
public class A
{
// static fields
private static String fieldA = "a_a";
protected static String fieldB = "a_b";
public static String fieldC = "a_c";
public static String fieldH = "a_h";
// normal fields
private String fieldD = "a_d";
protected String fieldE = "a_e";
public String fieldF = "a_f";
// static methods
public static void printAStatic()
{
System.out.println("AAA");
} // end printAStatic()
// normal methods
public void printA()
{
System.out.println("AAA");
} // end printA()
public void showA()
{
printA();
} // end showA()
public void showAStatic()
{
printAStatic();
} // end showAStatic()
public int calculateI(int i)
{
i = 100 * i;
i += 25;
return i;
} // end calculateI();
public String calculateS(String s)
{
s = s + "123";
return s;
} // end calculateS()
public StringBuffer calculateSB(StringBuffer s)
{
s.append("123");
return s;
} // end calculateS()
public void exceptionTest(int i)
{
try
{
System.out.println("Start of Test...");
if (i == 5)
throw new Exception();
System.out.println("End of Test...");
}
catch (Exception e)
{
System.out.println("Exception handled...");
}
finally
{
System.out.println("finally...");
}
} // end exceptionTest()
} // end class A
Class B
Code:
public class B extends A
{
public static String fieldH = "b_h";
// constructor
public B()
{
this.fieldE = "b_e";
this.fieldF = "b_f";
} // end constructor
// static methods
public static void printAStatic()
{
System.out.println("BBB");
} // end printAStatic()
// normal methods
public void printA()
{
System.out.println("BBB");
} // end printA()
} // end class B
ClassC
Code:
public class C
{
public static void main(String[] args)
{
B bObject = new B();
bObject.showAStatic();
} // end main()
} // end class C
So und nun die FrageStellung
Code:
Test about object oriented programming in Java
For this test he classes A and B should be used. A class C is placed in the same package and contains the main() method that is described below.
Task 1.) (Variable-Scope)
Please say if the following main() methods of class C are valid. If not, give an explanation.
a)
public static void main(String[] args)
{
System.out.println(A.fieldA);
}
b)
public static void main(String[] args)
{
System.out.println(A.fieldB);
}
c)
public static void main(String[] args)
{
System.out.println(A.fieldC);
}
d)
public static void main(String[] args)
{
System.out.println(A.fieldE);
}
e)
public static void main(String[] args)
{
System.out.println(B.fieldH);
}
f)
public static void main(String[] args)
{
System.out.println(B.fieldC);
}
g)
public static void main(String[] args)
{
A aObject = new A();
System.out.println(aObject.fieldC);
}
h)
public static void main(String[] args)
{
B bObject = new B();
System.out.println(bObject.fieldC);
}
i)
public static void main(String[] args)
{
A aObject = new A();
System.out.println(aObject.fieldA);
}
j)
public static void main(String[] args)
{
A aObject = new A();
System.out.println(aObject.fieldD);
}
k)
public static void main(String[] args)
{
A aObject = new A();
System.out.println(aObject.fieldE);
}
l)
public static void main(String[] args)
{
A aObject = new A();
System.out.println(aObject.fieldF);
}
m)
public static void main(String[] args)
{
A aObject = new A();
aObject.printA();
}
n)
public static void main(String[] args)
{
B bObject = new B();
bObject.printA();
}
o)
public static void main(String[] args)
{
A aObject = new A();
aObject.printAStatic();
}
p)
public static void main(String[] args)
{
B bObject = new B();
bObject.showA();
}
So das ist Aufgabe 1 von 11 gewesen ^^ meine Antworten dazu sind
Code:
a) fieldA ist private und kann somit nicht von der Klasse C gelesen werden
b) valid, da A und C im gleichen Paket
c) valid, da Variable public
d) fielde ist nicht static und kann somit nicht direkt mit der Klasse angesprochen werden sondern benötigt ein objekt
e) valid, da public und static
f) valid, da B extends A und Variable ist public und static
g) Würde gehen ist aber keine gute Idee, da Variable static, kann direckt mitd er Klasse A angesprochen werden
h) würde gehen, da B extends a, jedoch wieder keine gute Idee, da variable static
i) Variable ist private und kann somit nicht von Klasse C gelesen werden
j) Variable ist private und kann somit nicht von Klasse C gelesen werden
k) valid, da A und C im gleichen Paket
l) valid, da Variable Public
m) valid, da Methode Public
n) valid, da Class B extends Class A und Methode Public
o) valid, da public Methode
p) valid, da Class B extends Class A und Methode public
Ich hoffe es hatt jmd bisschen Zeit und schut da mal drüber und vorallem evt schaut ihr euch ja die anderen 10 Aufgaben ja auch durch ^^
DICKES THX schonmal an alle die sich daran zu schafen machen.