Verständnissfrage zu statischen Objekten



  • Hallo,

    ich versuche mich erst seit ein paar Tagen mit java und blicke noch nicht ganz durch 😞

    folgende Frage:

    ich will ein String Objekt als Member meiner Testklasse Main anlegen..
    momentan habe ich es so gemacht (was aber nicht das is was ich will, weil es ja eine Klassenvariable und kein Member der Klasse ist)

    public class Main {
    
        private static String s;
    
        public Main() {
        }
    
        public static void main(String[] args) {
    
            s = new String("hallo");
            JFrame p;
    
            try {
                Character c = new Character(s.charAt(3));
                p = new JFrame(c.toString());
                p.setVisible(true);
            }
            catch (StringIndexOutOfBoundsException e) {
                p = new JFrame(e.getMessage());
                p.setVisible(true);
            }
        }
    

    was ich wissen will, warum kann ich es nicht so (wie um untern code) schreiben.. bzw wie kann ich den String als Member meiner Klasse anlegen

    public class Main {
        /* warum funktioniert das so nicht? */
        private String s = new String();
    
        public Main() {
        }
    
        public static void main(String[] args) {
    
            s.zuweisen("hallo"); // funktioniert leider nicht aber warum
            JFrame p;
    
            try {
                Character c = new Character(s.charAt(3)); // hier natürlich auch
                p = new JFrame(c.toString());
                p.setVisible(true);
            }
            catch (StringIndexOutOfBoundsException e) {
                p = new JFrame(e.getMessage());
                p.setVisible(true);
            }
        }
    

    mfg leo



  • sry.. hat sich schon erledigt

    habe übersehen das die main funktion statisch ist



  • Noch etwas. Du brauchst nicht

    String s = new String() oder
    String s = new String("Inhalt")
    schreiben. Es reicht aus

    String s = ""
    String s = "Inhalt"


Anmelden zum Antworten