Googlehupf
Erfahrenes Mitglied
Mh, das mit this ist mir noch nicht klar.
Kannst du mir vielleicht bitte 2 Bsp zeigen wo einmal mit this und einmal ohne?
Kannst du mir vielleicht bitte 2 Bsp zeigen wo einmal mit this und einmal ohne?
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
public class A
{
int foo;
public class B
{
int foo;
public B()
{
foo = 0; // Welches foo ist denn jetzt gemeint, das von B oder doch das von A?
}
}
}
public LED_Anzeige(int stellen) {
super(); // ruft den konstrukter der Oberklasse auf
anz_stellen=stellen;
anzeige = new Led_7Segment[stellen];
this.setLayout(new FlowLayout());
for(int i=stellen-1; i>=0; i--) {
anzeige[i] = new Led_7Segment(0,2); // initial-Wert: 0 --> Größe: 2
this.add(anzeige[i]);
}
JPanel panel = new JPanel();
panel.add(anzeige[i])
panel.setLayout(new FlowLayout());
Was meint den jetzt diese 2 this?
Ich meine das add und setLayout kenn ich nur von z.B.:
Aber was macht dieses this in diesem Fall?
Wenn ich jetzt this.foo=1 im Konstruktor B mache, welcher wird dann verändert? Und was ist wenn ich this.foo=2 in der Klasse B mache?
public class LED_Anzeige extends JPanel{
private Led_7Segment anzeige[];
private int anz_stellen;
public LED_Anzeige(int stellen) {
super(); // ruft den konstrukter der Oberklasse auf
anz_stellen=stellen;
anzeige = new Led_7Segment[stellen];
this.setLayout(new FlowLayout());
for(int i=stellen-1; i>=0; i--) {
anzeige[i] = new Led_7Segment(8,2); // initial-Wert: 0 --> Größe: 2
this.add(anzeige[i]);
}
}
public void setValue(long value) {
for(int i=0; i<anz_stellen; i++){
short rest = (short)(value % 10);
value = (long)(value / 10);
anzeige[i].setValue(rest);
}
}
}
LED_Anzeige anzeige = new LED_Anzeige(5);
Die ganzen Layouts haben nur eine Auswirkung darauf,ohne this.setLayout(new FlowLayout()); funktioniert das Programm auch, kannst du dir vorstellen warum?
...Wie würde das ohne den ganzen this aussehn bzw. wie würde der Code aussehn ohne this und das Programm funktioniert, also am Ende hat man die 7Segment-Anzeigen.
class Person
{
public String name;
public void printName() {
System.out.println(name);
}
public void tuIrgendwas() {
}
}
Person p;
p = new Person();
p.name = "sheel";
class AndereKlasse {
public void tuWasMitPerson(Peron x) {
x.printName();
}
}
Person p;
p = new Person();
p.name = "sheel";
AndereKlasse anderes = new AndereKlasse();
anderes.tuWasMitPerson(p);
class Person
{
public String name;
public void printName() {
System.out.println(name);
}
public void tuIrgendwas() {
AndereKlasse a = new AndereKlasse();
a.tuWasMitPerson(?);
}
}
class Person
{
public String name;
public void printName() {
System.out.println(name);
}
public void tuIrgendwas() {
AndereKlasse a = new AndereKlasse();
a.tuWasMitPerson(this);
}
}
System.out.println(p.name);
System.out.println(this.name);
System.out.println(name);
class Person
{
public String name;
public void setName(String neuerName) {
name = neuerName;
}
public void printName() {
System.out.println(name);
}
}
this.name = neuerName;
public void setName(String name) {
name = name;
}
public void setName(String name) {
this.name = name;
}
Person p;
p = new Person();
p.name = "sheel";
p = new Person();
p.name = "saftmeister";
this = new Person();
panel1 = new JPannel();
panel1.add(anzeige); // also das wir die anzeige, button oder was für ein Element auch immer auf das Panel(Fenster...) adden, ich verstehe nicht ganz warum Zeile 12 oben funktioniert.