Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich fange zurzeit mit Java an, bin aber schon sehr gut in C#.
In c# habe ich Frameworks wie XNA benutzt. In Java will ich jetzt erstmal so anfangen, aber ich scheitere sofort.
Die Methode wo alles anfängt ist STATIC! und aus einer static methode kann man nur static methoden aufrufen oder static objekte erstellen. Wie komm ich in eine ganz normale Funktion oder Klasse? Sonst kann ich ja auch nie "this" verwenden... Ich checks einfach nicht, das ist voll komisch!
Mit static fängt alles an, da stimmt. Mit "new" legst du neue Objekte von diversen Klassen an, die nicht static sein können.
Java:
Klasse 1:
class main{
public static void main(String [] args){
//Mit "new" legst du neue Objekte der referenzierten Klassen an - hier Person.
Person p = new Person();
}
}
Klasse 2 :
class Person{
//Konstruktor
public Person(){
}
}
Weiteres solltest du dir mit passender Literatur aneignen.
Oh sorry, mein Fehler :/ Hatte die 2te Klasse am Anfang der ersten Klasse deklariert und erst in "public static void main" initialisiert, kein Wunder, dass das nicht geht...
Danke schonmal
C# ist doch auch objektorientiert.
Das Konzept ist also das gleiche!
Du solltest dir also nochmal die Grundlagen der Objektorientierten Programmierung ansehen.
Um eine nicht statische Methode aufzurufen, brauchst du ein Objekt der Klasse, die diese Methode implementiert.
main:
Java:
public static void main(String... args){
Haus haus = new Haus(2);
System.out.println(haus.getHausnummer());
}
Klasse Haus:
Java:
class Haus{
private int hausnummer;
public Haus(int hausnummer){
this.hausnummer = hausnummer;
}
public int getHausnummer(){
return hausnummer;
}
}
...war wohl etwas zu spät...
kann ignoriert werden
C# ist doch auch objektorientiert.
Das Konzept ist also das gleiche!
Du solltest dir also nochmal die Grundlagen der Objektorientierten Programmierung ansehen.
Mach mal halblang. In C++/C# können Objekte so deklariert werden, dass sie direkt eingebettet sind; 'new' wird nur benötigt, wenn ein Objekt tatsächlich erst zur Laufzeit angelegt werden soll. Dass so ziemlich für jedes Objekt auch 'new' benötigt wird, ist eine Java-Spezialität, die in C++/C# so nicht notwendig ist, und dort die "Grundlagen der Objektorientierten Programmierung" nicht zwingend behindert.