package, import und Vererbung mit static

Status
Nicht offen für weitere Antworten.

Ikaragua

Aktives Mitglied
Hallo.

Ich bin dabei ein Programm zu schreiben, das in der Datei Hauptklasse.java die main-Methode hat und sich aus Komponenten.java die Objekte bezieht.

Gleiches 'package' ist ohnehin unerheblich, da dieses nur für die Zugehörigkeit zuständig ist, soweit ich glaube.

Dem Beispiel meines Lehrbuchs folgend, habe ich es mit
Code:
import <projekt>.Komponenten;
versucht in die Hauptklasse zu importieren, doch das verweigert er. Stattdessen muss ich explizit von den Komponenten erben mit
Code:
public class Hauptklasse extends Komponenten {
und zusätzlich in Komponenten.java alles auf 'static' setzen.

Es muss doch irgendwie über 'import' und ohne 'static' gehen, doch wie?

Gruß, Ikaragua
 

Leroy42

Top Contributor
Ikaragua hat gesagt.:
Dem Beispiel meines Lehrbuchs folgend, habe ich es mit
Code:
import <projekt>.Komponenten;
versucht in die Hauptklasse zu importieren, doch das verweigert er. Stattdessen muss ich explizit von den Komponenten erben mit
Code:
public class Hauptklasse extends Komponenten {
und zusätzlich in Komponenten.java alles auf 'static' setzen.

Wieso mußt du alles auf static setzen? :shock:
und
Code:
public class Hauptklasse extends Komponenten {
ist doch in Ordnung. ???:L

Was erwartest du denn von
Code:
import <projekt>.Komponenten;
:autsch:
 

NoX

Mitglied
Solange deine Klassen in einem Package sind, musst du da eigentlich gar nichts importieren, die Klassen sollten für die Objekterzeugung auch ohne import gefunden werden.
 

Ikaragua

Aktives Mitglied
An Leroy24:
Wieso mußt du alles auf static setzen? :shock:
Wenn ich das wüsste...

Was erwartest du denn von
Code:
import <projekt>.Komponenten;
:autsch:
Objektimportierung.

An mafos:
Solange deine Klassen in einem Package sind, musst du da eigentlich gar nichts importieren, die Klassen sollten für die Objekterzeugung auch ohne import gefunden werden.
Dachte ich mir ursprünglich auch, allerdings gibt NetBeans bei einem Versuch so etwas durchzuführen ein Fehlermeldung aus.

Ich kopiere hier einmal ein paar Versionen rein:

Geht:

Hauptklasse.java
Code:
package projekt;

public class Hauptklasse extends Komponenten {   
    public static void main(String[] args) {
        los();
    }
}

Komponenten.java:
Code:
public class Komponenten {
    public static void los() {
        // Objektquelltext
    }
}

Geht nicht (1):
Hauptklasse.java
Code:
package projekt;

public class Hauptklasse {   
    public static void main(String[] args) {
        los();
    }
}

Komponenten.java:
Code:
package projekt;

public class Komponenten {
    public void los() {
        // Objektquelltext
    }
}

Geht nicht (2):
Hauptklasse.java
Code:
package projekt;

import projekt.Komponenten;

public class Hauptklasse {   
    public static void main(String[] args) {
        los();
    }
}

Komponenten.java:
Code:
package projekt;

public class Komponenten {
    public void los() {
        // Objektquelltext
    }
}
 

Ikaragua

Aktives Mitglied
Illuvatar hat gesagt.:
http://www.java-forum.org/de/viewtopic.php?t=7895

=>

Code:
package projekt; 

public class Hauptklasse {    
    public static void main(String[] args) { 
        Komponenten k = new Komponenten();
        k.los();
    } 
}
Dieser Lösungsvorschlag hat NetBeans dazu veranlasst, folgendes als Alternativvorschlag auszugeben, was nun meine Endlösung ist:

Code:
package projekt;

public class Hauptklasse {   
    public static void main(String[] args) {
        Komponenten.los();
    }
}

Vielen Dank!
 

Illuvatar

Top Contributor
Wenn los static ist, stimmt das. Mir kam es nur anfangs so vor, als sollte es nicht static sein?

(Btw, einfache Grundregel: Wenn man noch nicht 100% verstanden hat, was static bedeutet, sollte man es lieber, außer bei der main-Methode, nicht verwenden)
 

Ikaragua

Aktives Mitglied
Illuvatar hat gesagt.:
Wenn los static ist, stimmt das. Mir kam es nur anfangs so vor, als sollte es nicht static sein?

(Btw, einfache Grundregel: Wenn man noch nicht 100% verstanden hat, was static bedeutet, sollte man es lieber, außer bei der main-Methode, nicht verwenden)
Das sollte es auch. Allerdings habe ich mich von der einfachen Schönheit dieses Methodenaufrufes etwas blenden lassen. Kurzum, ich wähle (mit Verständnis) deinen Weg. Nochmals "Vielen Dank".
 

Leroy42

Top Contributor
Nochmal zur Info:

Eine Klasse, genauer ein Package, zu importieren, bedeutet nicht,
Methoden einfach so aufrufen zu können; es bedeutet nur,
das die dort vorhandenen Klassennamen ohne package-Namen
bekannt sind!

import-Statements können prinzipiell ganz weggelassen werden:

Code:
import java.util.*;
...
Random rand = new Random();
...

ist gleichbedeutend mit
Code:
import java.util.Random;
...
Random rand = new Random();
...
und mit
Code:
...
java.util.Random rand = new java.util.Random();
...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
java-starter Erste Schritte import von package Java Basics - Anfänger-Themen 4
O Package import-Klausel Java Basics - Anfänger-Themen 10
D Bitte um Hilfe bei "error: package com.apple.eawt does not exist import com.apple.eawt.*;" Java Basics - Anfänger-Themen 1
Q Classpath Package import Java Basics - Anfänger-Themen 6
F import Statement für Klassen die dem default Package zugeordnet sind? Java Basics - Anfänger-Themen 2
C import von Java Klasse ohne package Java Basics - Anfänger-Themen 10
M Hilfe zu package und import Java Basics - Anfänger-Themen 6
D Apache.Xerces unter Eclispe? import/plugin/package? Java Basics - Anfänger-Themen 2
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
H Compiler-Fehler Klasse in einem Package wird nicht gefunden bzw. akzeptiert Java Basics - Anfänger-Themen 12
A OOP Komposition per Package-Sichtbarkeit Java Basics - Anfänger-Themen 2
B Zugriffsmodifier, Zugriff außerhalb Package Java Basics - Anfänger-Themen 5
M Java Kompilieren über Package grenzen hinaus Java Basics - Anfänger-Themen 4
P Maven-Dependencies (package org.apache.http.nio does not exist) Java Basics - Anfänger-Themen 6
N package wird doppelt im exporer angezeigt Java Basics - Anfänger-Themen 2
H Was sind Package bei eclipse? Java Basics - Anfänger-Themen 1
V Datentypen Default Package Java Basics - Anfänger-Themen 1
J Datei im Package zur Laufzeit editieren Java Basics - Anfänger-Themen 1
L Java Package View Java Basics - Anfänger-Themen 6
T Compiler-Fehler Eclipse: leerer Package Explorer Java Basics - Anfänger-Themen 4
L Eine Klasse aus dem gleichen Package starten Java Basics - Anfänger-Themen 3
Clarence Weinberg Eclipse: Package wird erst nach Neustart aktuallisiert Java Basics - Anfänger-Themen 1
K Dateien aus Source-Package verwenden Java Basics - Anfänger-Themen 10
Z AWT package -> keine Konsole? Java Basics - Anfänger-Themen 2
F Interface aus anderem Package nutzen Java Basics - Anfänger-Themen 10
G eigenes package Java Basics - Anfänger-Themen 3
N Fehler beim importieren vom package Java Basics - Anfänger-Themen 2
T Erste Schritte run innerhalb eines package Java Basics - Anfänger-Themen 1
C Klassen aus einem Package ermitteln und per Laufzeit laden Java Basics - Anfänger-Themen 17
D Subpackage / Package in Package Java Basics - Anfänger-Themen 6
D Ein Icon ohne Pfad sondern mit Package. Java Basics - Anfänger-Themen 4
P Zip in package speichern/auslesen? Java Basics - Anfänger-Themen 4
M Erste Schritte package-Deklaration, Problem Java Basics - Anfänger-Themen 6
Ananaskirsche Methoden Auf Methode in anderem Package zugreifen Java Basics - Anfänger-Themen 3
S Funktionen/Atrribute nur innerhalb einer package Zugänglich machen Java Basics - Anfänger-Themen 8
J BlueJ öffnet package falsch Java Basics - Anfänger-Themen 2
N Zugriff bei Package Struktur Java Basics - Anfänger-Themen 6
OnDemand Package Anweisungen Java Basics - Anfänger-Themen 3
L Package wird nicht richtig importiert Java Basics - Anfänger-Themen 4
LittleJavaCup Zugriff auf Klasse von package Java Basics - Anfänger-Themen 3
S Datei in Package ablegen Java Basics - Anfänger-Themen 11
B Definieren von package scope Java Basics - Anfänger-Themen 2
B JAVA Package Problem Java Basics - Anfänger-Themen 8
J Java Package - HelloWorld Java Basics - Anfänger-Themen 10
F Eigenes Package - Variable exportieren Java Basics - Anfänger-Themen 11
J "public int x" - Zugriff von anderer Klasse (selbes Package) nicht möglich?! Java Basics - Anfänger-Themen 4
H Innerhalb eines Package wird eine Klassenmethode nicht gefunden. Java Basics - Anfänger-Themen 2
S Ordner / Package Struktur bei größerem Projekt? Java Basics - Anfänger-Themen 8
S Classpath Externes Package einbinden (zip-Datei) Java Basics - Anfänger-Themen 9
J Kompilieren mit Package funktioniert nicht Java Basics - Anfänger-Themen 40
L aus package auf klasse Ausserhalb des package zugreifen, wie? Java Basics - Anfänger-Themen 8
Luk10 Package Namen Java Basics - Anfänger-Themen 5
F Mit javac Package compilieren Java Basics - Anfänger-Themen 3
N Probleme mit dem Erstellen eines package Java Basics - Anfänger-Themen 6
Q Aufruf einer Klasse in einem Package Java Basics - Anfänger-Themen 7
P Nachträglich Klasse zu Package hinzufügen Java Basics - Anfänger-Themen 16
B Interface Nach "package"-Nennung keine Toolbar-Icons mehr Java Basics - Anfänger-Themen 5
S Classpath package unbekannt Java Basics - Anfänger-Themen 5
G Package Java Basics - Anfänger-Themen 5
T Applet init() funktioniert nur im default package Java Basics - Anfänger-Themen 5
C Package einbinden - "cannot access" Java Basics - Anfänger-Themen 5
B Eigenes Package Java Basics - Anfänger-Themen 6
F Zugriff auf Instanzobjekte - Package does not exist Java Basics - Anfänger-Themen 10
M Problem mit package und Vererbung Java Basics - Anfänger-Themen 6
S Wie sollte man Package bezeichnen Java Basics - Anfänger-Themen 2
B package benutzen Java Basics - Anfänger-Themen 6
S Package in Java Java Basics - Anfänger-Themen 5
E Welcher Package Name bei Eclipse/Android? Java Basics - Anfänger-Themen 2
D package javax.comm does not exist Java Basics - Anfänger-Themen 5
M Package Namen ändern Java Basics - Anfänger-Themen 3
Luk10 package system does not exsist Java Basics - Anfänger-Themen 2
B Matrix package ? Java Basics - Anfänger-Themen 7
S OOP package Deklaration Java Basics - Anfänger-Themen 4
P ArrayList<E> in package java.util Java Basics - Anfänger-Themen 4
N static package de.hallo; ??? Java Basics - Anfänger-Themen 4
M package in Netbeans IDE Java Basics - Anfänger-Themen 3
L ClassLoader - Daten aus einem Package laden Java Basics - Anfänger-Themen 3
A Nicht verwendete Klassen aus großem Package löschen Java Basics - Anfänger-Themen 9
G package im bin ordner Java Basics - Anfänger-Themen 2
A Erstellener einer Jar Datei mit eigenem Package Java Basics - Anfänger-Themen 9
B package org.jdesktop.layout does not exist Java Basics - Anfänger-Themen 8
I Listener Klassen in Package Java Basics - Anfänger-Themen 3
K Bilder/Dateien aus package einlesen Java Basics - Anfänger-Themen 14
S package problem Java Basics - Anfänger-Themen 2
E Read a file in a package Java Basics - Anfänger-Themen 2
M Was versteht man unter Java einen Package ? Java Basics - Anfänger-Themen 17
F package erstellen Java Basics - Anfänger-Themen 4
M Fehler: package javax.portlet does not exist Java Basics - Anfänger-Themen 2
G problem mit package Java Basics - Anfänger-Themen 15
G Kein EJB-Package vorhanden Java Basics - Anfänger-Themen 2
S API laden problem mit package Java Basics - Anfänger-Themen 2
G ressourcen in anderem Package Java Basics - Anfänger-Themen 9
G Package in JBuilder einbinden wirft tausende Fehler aus Java Basics - Anfänger-Themen 15
N package Problem Java Basics - Anfänger-Themen 3
V Unbekannte Klassen aus einem Package laden? Java Basics - Anfänger-Themen 4
G Servlet Package wo herunterladen? Java Basics - Anfänger-Themen 2
G kann Klassen aus eigenem Package nicht verwenden Java Basics - Anfänger-Themen 15
B Umwandlung gemäß Package-Anweisung Java Basics - Anfänger-Themen 5
G Wofür com package? + Welche eclipse - Plug Ins? Java Basics - Anfänger-Themen 3
I Methode aus zweitem Package aufrufen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben