Figure 229. Rectangle class and instances



  • Hallo,

    Ich habe den Code aus der Folie 229 in IntelliJ übernommen, bekomme aber folgende Fehlermeldung bei:
    r1.width = 35; // Unknown class: 'r1.width'
    r1.height = 15; // Unknown class: 'r1.height'
    r1.hasSolidBorder = false; // Unknown class: ' r1.hasSolidBorder'

    Was müsste ich noch ergänzen, damit das Erstellen der Instanz und die Zuweisung der Variablen funktioniert?

    package de.hdm_stuttgart.mi.sd1exercise;
    
    public class Rectangle {
    
        int width;
        int height;
        boolean hasSolidBorder;
    
        Rectangle r1 = new Rectangle();
        r1.width = 35;
        r1.height = 15;
        r1.hasSolidBorder = false;
    
    }
    

  • administrators

    Hallo Herr Ziegler,

    Folie 229 enthält ja nur einen Teil des von Ihnen genannten Codes, nämlich:

    public class Rectangle {
        int width;
        int height;
        boolean hasSolidBorder;
    }
    

    Die von Ihnen zusätzlich gewünschte Erzeugung einer Instanz mit nachfolgender Wertzuweisung an die drei Instanzattribute width, height und hasSolidBorder müssen Sie ganz allgemein innerhalb einer Methode durchführen. Dies kann z.B. die main(...) Methode einer beliebigen Klasse (auch Rectangle selbst) sein, z.B.:

    public class WorkingWithRectangles {
      public static void main(String[] args) {
        Rectangle r1 = new Rectangle();
        r1.width = 35;
        r1.height = 15;
        r1.hasSolidBorder = false;
      }
    }
    


  • Vielen Dank,

    Ich war heute Mittag wohl etwas neben der Spur. So macht das natürlich Sinn