Könnt ihr mal über Paar antworten schauen(Hausaufgaben)

  • Themenstarter Verzweifelter Schüler ;)
  • Beginndatum
Status
Nicht offen für weitere Antworten.
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

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.
 
S

SlaterB

Gast
also ob valid oder nicht sagt dir doch ein Test?
ansonsten klingen deine Antworten recht wissend,
insbesondere
> Würde gehen ist aber keine gute Idee, da Variable static, kann direckt mitd er Klasse A angesprochen werden

ich mache mir dann um die Richtigkeit keine Sorgen,
habe aber leider keine Lust, alles durchzuschauen :bae:
 
G

Guest

Gast
hmm OK danke ^^

Hoffe auch das das soweit stimmt doch wo ich mir unsicher war:

public static void main(String[] args)
{
A aObject = new B();
aObject.printA();
}

geht das? Class B extends Class A

MfG
 
S

SlaterB

Gast
schreibe dir doch einfach ein Java-Programm und schaue dir die Ergebnisse an?
das geht, es ist nur die Frage was als Ausgabe kommt,
AAA
oder
BBB
? ;)
 
G

Guest

Gast
noch mal was wegen

A aObject = new B();

Kann man dazu schreiben:

Es wird ein Objekt aus der Klasse B erstellt und da die Klasse die Methode besitzt wird dies ausgegeben

Weis nicht genau wie ich das hier erklären soll da ja beide Klassen hier auftauchen.

Weis einer ne bessere Lösung um dies zu erklären?

MfG
 
S

SlaterB

Gast
> A aObject = new B();
> Es wird ein Objekt aus der Klasse B erstellt und da die Klasse die Methode besitzt wird dies ausgegeben

also nur bei der Erzeugung wird nur erzeugt, nix mit Methoden,

allgemein kann man natürlich an einem A-Object alle A-Operation aufrufen, da ist ja keine Kunst dabei,
egal, ob nun A oder B in der Variablen drinsteckt (weiß man zu dem Zeitpunkt ja vielleicht nicht mla)

B bietet alle Operationen die A auch hat, deswegen klappt (vorher) die Speicherung in einer A-Variablen
 
G

Guest

Gast
aber man kann sagen, das wenn ich

aobject.methode()

mache, dass eine methode aus der Klasse B aufgerufen wird oder.

So kann ich die Konstruktion doch verstehen oder?

habe ja ne Klasse A und B und wenn ich nun

A aobject = new B();

mache dann bedeutet das doch, dass ich ein Object der Klasse B habe das eigentlich nix mit A zu tun hatt oder wie?


Sry raff das grad net so ganz.

MfG
 
S

SlaterB

Gast
letztlich führst du eine Operation an B aus, das stimmt,
und natürlich gehts hier auch um B,

es ist alles ein großes Zusammenspiel mit verschieden Sichtweisen,
im verborgenen innereren ist die ganze Zeit nur B aktiv,
oberflächlich gesehen arbeitest du aber mit einem A-Objekt,
wobei egal ist oder tatsächlich A oder B drinsteckt,
denn B ist ja auch A..

da kann viel drumherum reden, was genau gefragt ist weiß man eh nie ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Könnt ihr mir helfen beim Programmieren eines Ping Pong Spieles? Java Basics - Anfänger-Themen 9
J Guten tag, Ich hoffe ihr habt einen schönen Sonntag und könnt mir helfen Java Basics - Anfänger-Themen 2
S Klasse Zeichenfenster und BlueJ - Könnt ihr mir helfen? Java Basics - Anfänger-Themen 4
N Die letzte Zeile generiert einen Fehler! Könnt ihr mir helfe Java Basics - Anfänger-Themen 2
B Könnt ihr ein Auge auf mein Programm werfen? Java Basics - Anfänger-Themen 8
richis-fragen GlassPane über JScrollPane legen Java Basics - Anfänger-Themen 6
A Server - Client Nachrichtenaustausch über Eventbus Java Basics - Anfänger-Themen 12
P Neue Java v8 JRE Version nicht über alte drüber installierbar: Wie sonst? Java Basics - Anfänger-Themen 7
D Downloadfortschritt von Datei über Google Drive API v3 Java Basics - Anfänger-Themen 10
B großzügiges Pixelraster über Bildschirm legen Java Basics - Anfänger-Themen 7
ravenz Schleife mit for über String Array „zahlen“und prüfen ob Wert „a“ oder „b“ oder „c“ entspricht (mittels || ) Java Basics - Anfänger-Themen 4
L Beim Java Programmstart, mehrere Parameter über die Kommandozeile übergeben Java Basics - Anfänger-Themen 9
sserio Iterierung über ein zweidimensionales Array Java Basics - Anfänger-Themen 16
H Eine Methode über Actionlistener beenden Java Basics - Anfänger-Themen 8
S Java über SSH Java Basics - Anfänger-Themen 13
X Wie erreiche ich, dass ein Robot weitere Attribute hat, die nicht materialisiert sind, sondern nur über get/ set-Methoden simuliert sind? Java Basics - Anfänger-Themen 1
M Wie können Klassen nicht-materialisierte Attribute haben, die nur über get/ set-Mehoden simuliert sind? Java Basics - Anfänger-Themen 6
D Best Practice Ausgabe über direkte Ausgabe oder try-catch? Java Basics - Anfänger-Themen 13
R Eigenschaft über Parameter auslesen und ändern Java Basics - Anfänger-Themen 15
P Datei einlesen, nach Begriff filtern und in Datei ausgeben. Problem Standardausgabe über Konsole Java Basics - Anfänger-Themen 19
W Unterschiede bei Zugriff auf Objekt und Klassenvariablen über einen Getter? Java Basics - Anfänger-Themen 2
W char über die Konsole? Java Basics - Anfänger-Themen 7
EchtKeineAhnungManchmal Hallo :) ich bekomme es nicht hin eine Fehlermeldung auszugeben über die GUI Java Basics - Anfänger-Themen 3
S Array über ein Ausgabemethode in main ausgeben Java Basics - Anfänger-Themen 31
C Potenzberechnung über switch case. Taschenrechner mit Eingabe über einen grafischen Dialog Java Basics - Anfänger-Themen 22
J Wert zurückgeben über get Methode Java Basics - Anfänger-Themen 8
J Eintrag Combobox über einen String auswählen Java Basics - Anfänger-Themen 3
A Array Ansprache einer Zelle über Punktnotation? Java Basics - Anfänger-Themen 3
O Java über cmd benutzen ? Java Basics - Anfänger-Themen 5
J Variablenzugriff über string Java Basics - Anfänger-Themen 18
W Objekte über Scanner Input; ToString Probleme... Java Basics - Anfänger-Themen 4
H Methode über String Wert aufrufen Java Basics - Anfänger-Themen 8
M Java Kompilieren über Package grenzen hinaus Java Basics - Anfänger-Themen 4
M Arrays mit mehreren Werten über JOptionPane initialisieren Java Basics - Anfänger-Themen 12
Tino1993 Ellipse über draw Funktion ohne spur wandern lassen Java Basics - Anfänger-Themen 6
M Mehrere Datenbank zugriffe über tomee.xml regeln? Java Basics - Anfänger-Themen 1
N Input/Output Eine Frage über system.out.println. Java Basics - Anfänger-Themen 10
J Array über Getter erlangen Java Basics - Anfänger-Themen 34
S While-Schleife geht in Endlosschleife über, warum? Java Basics - Anfänger-Themen 6
B OOP-Anfänge über CMD + Editor Java Basics - Anfänger-Themen 30
G Variablen Array Länge über den Konstruktor definieren Java Basics - Anfänger-Themen 4
L Addition von Arrays über die Parameterliste Java Basics - Anfänger-Themen 11
C Datei über relative Pfade einlesen Java Basics - Anfänger-Themen 6
1 Erste Schritte Was denkt ihr über eines meiner ersten Javaprogramme? Java Basics - Anfänger-Themen 2
S Allgemeine Frage über Generics und Vererbungen Java Basics - Anfänger-Themen 5
J Button über Pfeiltasten bewegen Java Basics - Anfänger-Themen 8
E Objekt durch Benutzer über Konsole erzeugen - Java Java Basics - Anfänger-Themen 3
N Eingabe Kommazahlen über Scanner Java Basics - Anfänger-Themen 2
T DoWhile Schleife über mehrere Mothoden Java Basics - Anfänger-Themen 5
C Collections List über Interface zugreifen Java Basics - Anfänger-Themen 32
J Gefilterten Stream über die Konsole ausgeben Java Basics - Anfänger-Themen 1
S Variablen Klassenvariable über Objekt aufrufen Java Basics - Anfänger-Themen 16
S Bilder über Socket Senden Java Basics - Anfänger-Themen 1
K Textdatei auslesen und über Mqtt schicken Java Basics - Anfänger-Themen 4
L Iterieren über eine CSV Datei Java Basics - Anfänger-Themen 7
I GUI über Eclipse oder NetBeans Java Basics - Anfänger-Themen 23
S Klassenaufruf über JFrame Button Java Basics - Anfänger-Themen 3
Java The Hutt SetWerte über verschiedene Klassen Java Basics - Anfänger-Themen 16
L Zugriff auf Attribute eins Objekts über ActionListener Java Basics - Anfänger-Themen 4
O Methode über Leerzeichen Java Basics - Anfänger-Themen 13
I OOP Objektnamen über die Konsole richtig einlesen Java Basics - Anfänger-Themen 9
A Variablen Variablenwert über Konstruktor ändern Java Basics - Anfänger-Themen 3
J MySQL Datumsabfrage über ResultSet in Java-Servlet Java Basics - Anfänger-Themen 4
CptK Interface Bilder über Bildschirm bewegen, bis der Abstand zum vorherigen zu groß wird Java Basics - Anfänger-Themen 13
dapzoo Class File Version zu niedrig? Ausführen über Eingabeaufforderung nicht möglich Java Basics - Anfänger-Themen 14
J Punkt auf,über,unter oder zwischen 2 Geraden Java Basics - Anfänger-Themen 14
CptK Interface Bild über Methode ändern funktioniert nicht Java Basics - Anfänger-Themen 4
R Keine Verbindung zu MySql über Netbeans Java Basics - Anfänger-Themen 15
E Best Practice Jar-file mit zwei Klassen und externer Bibliothek über Konsole erzeugen Java Basics - Anfänger-Themen 13
J Aufruf einer Methode über einen String Java Basics - Anfänger-Themen 11
G Arraynamen über eine Schleife ansprechen Java Basics - Anfänger-Themen 4
S Bild über JButton legen Java Basics - Anfänger-Themen 3
temi Druckeransteuerung über ESC-Sequenz Java Basics - Anfänger-Themen 21
M Methodenaufruf über SQL UPDATE Java Basics - Anfänger-Themen 8
B Könnte jemand über dieses jurze Javaprogramm schauen? Irgendwas funktioniert mit der z-Varible nicht Java Basics - Anfänger-Themen 2
M Java Programm über Batch-Datei ausführen Java Basics - Anfänger-Themen 1
E Wie Passwort-Eingabe (ohne Echo!) über Konsole ? Java Basics - Anfänger-Themen 4
C Erste Schritte Fehler beim *.class Aufruf über cmd.exe Java Basics - Anfänger-Themen 9
R Fragen über den Konstruktor Java Basics - Anfänger-Themen 0
X Minimax-Algorithmus über alle Kanten möglich? - Kanten darstellen Java Basics - Anfänger-Themen 1
P Threads Prozess kann nicht über die GUI gestartet werden Java Basics - Anfänger-Themen 8
T CMD über Java-Programm aufrufen Java Basics - Anfänger-Themen 2
X Finde die Files über FTP nicht Java Basics - Anfänger-Themen 4
J Methode über Scanner aufrufen Java Basics - Anfänger-Themen 15
P Programm kann über CMD nicht ausgeführt werden Java Basics - Anfänger-Themen 2
E Frage über Speichern und Ausgabe Java Basics - Anfänger-Themen 7
J Verschieden Fragen über Java Programmierung Java Basics - Anfänger-Themen 3
X Betriebssytem interne Consolen Commands über Java starten Java Basics - Anfänger-Themen 2
J ArrayList über verschiedene Klassen verwenden Java Basics - Anfänger-Themen 7
A .jar über Webbrowser aufrufen Java Basics - Anfänger-Themen 2
D Ausgabe über JLabel Java Basics - Anfänger-Themen 12
L Erste Schritte Arrays über eine for Schleife ansprechen. Java Basics - Anfänger-Themen 6
MiMa Datentyp Short Wert zuweisen über Methode Java Basics - Anfänger-Themen 2
K Objekt soll Anwendung über Änderungen informieren Java Basics - Anfänger-Themen 8
Detox Class Datei erzeugen nicht möglich über cmd Java Basics - Anfänger-Themen 1
F Gewichteter Mittelwert über eine Zeitperiode Java Basics - Anfänger-Themen 3
B Schleife über einen Container Java Basics - Anfänger-Themen 7
Henri Paare Frage über Java Programmierung Java Basics - Anfänger-Themen 10
T jar von stick aus über jre auf stick starten Java Basics - Anfänger-Themen 6
L Iterieren über ArrayList Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben