Java Variable in mehreren Klassen benutzen

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
  1. protected Variablen und funktionen können von allen Unterklassen und Klassen im gleichen Paket gesehen werden.
  2. Public macht Variablen und Funktionen für ALLE sichtbar.
  3. static macht Variablen Instanzunabhängig.
  4. Variablen direkt sichtbar zu machen ist schlechter Stil, mach lieber get/set-Methoden.

Das geht nicht. Objekte können das. Klassen nicht. Ausser bei Klassenvariablen (static). In fremden Objekten Variablen ändern ist auch schlechter Stil.

Erstelle eine getter und setter Methode für das Datenfeld. Die kannst du dann aus der anderen Klasse aufrufen und so die Variable ändern (Standardprozedur um das zu ermöglichen).

Alternativ Feld öffentlich und statisch machen.

Aber bereits so wie du die Frage gestellt hast, sieht es schwer danach aus, dass du (noch) nicht wirklich die Konzepte der Objekt-Orientierten Programmierung verstehst. Du scheinst imperativ zu denken, wie ein C-Entwickler

Wie sieht die Punktnotation in Java aus oder wie kann ich auf auf andere Klassen zugreifen?

Wie kann ich in der Klasse Telefon die Methoden aus der Klasse Telefonbuch verwenden ? Wenn ich es mit Punktnotation versuche wie z.B.

public void eintrag_hinzufuegen(String name)
{
    Telefonbuch.hinzufuegen(name);
}

, kommt die Fehlermeldung : non static method cannot be referenced from a static context

1)

import java.util.ArrayList;
public class Telefon
{
protected ArrayList <Telefonbuch> telefonbuch;
protected boolean eingeschaltet;
        
        public Telefon()
    {
        // initialise instance variables
        telefonbuch = new ArrayList <Telefonbuch>();
    }
    
    public void anrufen (String name)
    {
    }
    
    public void einschalten()
    {
        eingeschaltet = true;
    }
    
    public void telefonbuch_uebersicht()
    {
        
    }
    
    public void eintrag_hinzufuegen(String name)
    {
    }
    
    public void eintrag_entfernen(String name)
    {
    }
    
    public boolean eintrag_suchen(String name)
    {
    }
}

2)

import java.util.Arrays;

/**
 * Write a description of class Telefonbuch here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Telefonbuch
{
    // instance variables - replace the example below with your own
    private int anzahl_eintrag;
    private int kapazitaet;
    private String[] name_liste;
    protected boolean gefunden;

    /**
     * Constructor for objects of class Telefonbuch
     */
    public Telefonbuch()
    {
        // initialise instance variables
        String [] name_liste = new String[kapazitaet];
        gefunden = false;
    }
    
    public void set_kapazitaet(int x)
    {
        kapazitaet = x;
    }
    
    public void telefonbuch_uebersicht()
    {
        for(int i=0; i < name_liste.length; i++)
        {
        System.out.println(name_liste[i]);
        }
    }
    
    public void hinzufuegen(String name)
    {
        
    }
    
    public void entfernen(String name)
    {
    }
    
    public boolean suchen(String name)
    {
        for(int i=0; i < name_liste.length; i++)
        {
         if(name_liste[i].equals(name))
         {
         gefunden = true;
         }
         else
         {
         //Abbruch
         }
        }
        return gefunden;
    }
}

...zur Frage

Java Variable auf unendlich setzen

Wie kann ich die fettgedruckte Zahl auf unendlich setzten?:


public class TileEntityElectricMFSU {

} package ic2.common;

public class TileEntityElectricMFSU extends TileEntityElectricBlock { public TileEntityElectricMFSU() { super(3, 512, 100000000000000000); }

public String b() { return "MFSU"; } }


Danke im Vorraus

...zur Frage

Methode IOTools.readline Java Eclipse?

Guten Abend.

Ich habe mal wieder eine Frage über Java.

Ich habe ein Programm mit der main-Methode erstellt, einen String.

Dieses:

public class Hello {
  public static void main(String[] args) {
    String name = "Bsp";
    String x = name;
    System.out.println("Hallo " + x + "!");
  }
}

Diesen soll ich jetzt so umändern, dass anstelle der direkten Zuweisung meines Namens, die Variable mit Hilfe der Methode IOTools.readLine den Wert belegt.

Den Anfang habe ich schon gemacht:

import Prog1Tools.IOTools;

public class Hello {
  public static void main(String[] args) {
    IOTools.readLine();

Jedoch weiß ich nicht weiter. Dokumentationen lesen bringt mir da auch nicht viel, leider.

Ich hoffe ich bekomme hier Hilfe.

LG

...zur Frage

Java auf Variablen von einer Klasse in einer anderen zugreifen?

Folgendes gegeben. Ich hab 2 Klassen. Einmal die Hauptklasse und einmal eine Klasse zum lesen einer Config Datei.

Jetzt hab ich in der Klasse für die Config mehrere Variablen die ich in der Hauptklasse nutzen will. Wie kann ich das machen?

Hier der Code:

http://hastebin.com/ivepabipoc.js

Srry, dass ich das so machen muss aber der Code ist zu lang. :)

Danke für eure Hilfe.

...zur Frage

Wie kann ich in Java über eine Methode eine Klasse zurückgeben?

Hey!

Ich möchte wissen, wie ich mit einer Methode eine Klasse zurückgeben kann, in der static Variablen sind, wenn ich diese Methode nutze, allerdings auch auf die static Variablen zugreifen kann.

...zur Frage

Was möchtest Du wissen?