Cheaper: Vererbung

Ich hab i-wie keine ahnung was ich hier falsch gemacht habe::

public class thisBefehl {

/**
  * @param args
  */

public static void main(String[] args) {
  // TODO Auto-generated method stub

superKategorie();

}

static void superKategorie(){

subKategorie superKategorie;
 superKategorie = new subKategorie();

double c=300000;
  double v=0.14 * (double) c;

class subKategorie() //Hier ist was falsch
extends superKategorie { //und hier  auch

subKategorie superKategorie = new subKategorie();
/*wusste nicht, ob das in die Unterklasse oder die Oberklase soll*/

System.out.println("Lichtgeschwindigkeit: " + this.c + "km/s " +
               "& Inertialsystemsgeschwindigkeit: " + this.v + "km/s");

}
}

Kann mir einer helfen und sagen was falsch ist??

MfG Cheaper

  1. Hallo,

    public class thisBefehl {

    Das ist eine Klasse. Klassennamen schreibt man in Java üblicherweise
    mit einem großen Anfangsbuchstaben.

    public static void main(String[] args) {

    Das ist eine statische Methode.

    // TODO Auto-generated method stub

    superKategorie();

    Hier rufst du eine Methode mit dem Namen superKategorie auf.

    static void superKategorie(){

    Hier definierst du eine statische Methode mit dem Namen superKategorie.

    subKategorie superKategorie;

    Hier erzeugst du eine (mit null initialisierte) Referenz auf ein
    Objekt vom Typ subKategorie.

    superKategorie = new subKategorie();

    Hier weist du einer Variable eine neue Instanz der Klasse subKategorie
    zu. (Gibt es die Variable überhaupt?)

    class subKategorie() //Hier ist was falsch

    Hier definierst du eine Klasse mit dem Namen subKategorie. Die Klammern
    sind hier falsch.

    extends superKategorie { //und hier  auch

    Hier versuchst du diese Klasse von einer Klasse superKategorie erben
    zu lassen. Offenbar ist superKategorie bei dir aber eine Methode, und
    eben keine Klasse.

    subKategorie superKategorie = new subKategorie();

    Hier erzeugt du eine neue Instanz der Klasse subKategorie und weist
    sie der Variablen superKategorie zu.

    /*wusste nicht, ob das in die Unterklasse oder die Oberklase soll*/

    Weiß ich auch nicht. Was willst du machen?

    Kann mir einer helfen und sagen was falsch ist??

    Done.

    Such dir mal ein gutes(!) Buch zu Java und arbeite dieses durch. Im
    Java-Buch wird Objektorientierung ganz gut erläutert, wenn ich mich
    noch recht erinnere.

    Dein wildes Rumversuchen bringt dich nicht weiter und wird dich früher
    oder später so demotivieren, daß du es aufgibst. Für ein nicht ganz
    triviales Thema wie die objektorientierte Programmierung ist ein bißchen
    Vorarbeit und Lernen notwendig.

    Gruß
    Slyh

    1. Hallo Slyh,

      Such dir mal ein gutes(!) Buch zu Java und arbeite dieses durch. Im
      Java-Buch wird Objektorientierung ganz gut erläutert, wenn ich mich
      noch recht erinnere.

      An dieser Stelle möchte ich ebenfalls ein Buch empfehlen:
      Java ist auch eine Insel. Ebenfalls online lesbar.

      Grüße

      Marc Reichelt || http://www.marcreichelt.de/

      --
      Linux is like a wigwam - no windows, no gates and an Apache inside!
      Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)