Moje zadanie polega na utworzeniu programu ze zmienną instancji, ciągiem, który powinien być wprowadzony przez użytkownika. Ale nie wiem nawet, czym jest zmienna instancji. Co to jest zmienna instancji? Jak go utworzyć? Co to robi?Java - Co to jest zmienna instancji?
Odpowiedz
zmienna instancji jest zmienna zadeklarowana wewnątrz klasy, ale poza metody: coś jak:
class IronMan{
/** These are all instance variables **/
public String realName;
public String[] superPowers;
public int age;
/** Getters/setters here **/
}
teraz Ironman Klasa może być utworzona w innej klasie, aby użyć tych zmiennych, coś w stylu:
class Avengers{
public static void main(String[] a){
IronMan ironman = new IronMan();
ironman.realName = "Tony Stark";
// or
ironman.setAge(30);
}
}
W ten sposób używamy zmiennych instancji. Więcej zabawnych rzeczy na podstawach java here.
Zmienna instancji jest zmienną, która jest członkiem instancji klasy (tj. Powiązana z czymś utworzonym z new
), podczas gdy zmienna klasy jest członkiem samej klasy.
Każde wystąpienie klasy będzie mieć własną kopię zmiennej instancji, podczas gdy jest tylko jedna z każdej zmiennej statycznej (lub klasy), związanej z samą klasą.
difference-between-a-class-variable-and-an-instance-variable
Klasa ta próba ilustruje różnicę
public class Test {
public static String classVariable="I am associated with the class";
public String instanceVariable="I am associated with the instance";
public void setText(String string){
this.instanceVariable=string;
}
public static void setClassText(String string){
classVariable=string;
}
public static void main(String[] args) {
Test test1=new Test();
Test test2=new Test();
//change test1's instance variable
test1.setText("Changed");
System.out.println(test1.instanceVariable); //prints "Changed"
//test2 is unaffected
System.out.println(test2.instanceVariable);//prints "I am associated with the instance"
//change class variable (associated with the class itself)
Test.setClassText("Changed class text");
System.out.println(Test.classVariable);//prints "Changed class text"
//can access static fields through an instance, but there still is only 1
//(not best practice to access static variables through instance)
System.out.println(test1.classVariable);//prints "Changed class text"
System.out.println(test2.classVariable);//prints "Changed class text"
}
}
prawidłowe. Możesz także myśleć o zmiennej instancji jako 'polu' w obiekcie. Istotną koncepcją jest enkapsulacja (patrz: modyfikator dostępu "private", moduły pobierające i ustawiające ...) – vikingsteve
Rzeczywiście, większość rzeczy ogłaszam publicznie dla łatwego dostępu, zazwyczaj jest to zły pomysł –
- 1. Co to jest zmienna instancji?
- 2. Dziedziczenie Java zmienna instancji
- 3. Co to jest zmienna flag?
- 4. Co to jest "zmienna wolna"?
- 5. Co to jest "zmienna bezpieczeństwa"?
- 6. Co to jest console.log() java?
- 7. Co to jest "usuń to"?
- 8. Co to jest? rodzaj?
- 9. Co to jest odpowiednik java javascript's String.fromCharCode?
- 10. Co to jest ekwiwalent C# Java DecimalFormat?
- 11. Co to jest wersja C++ Java ArrayList
- 12. Co to jest "String ..." w języku Java?
- 13. Co to jest klasa kierowcy? (Java)
- 14. Co to jest dosłownie w języku Java?
- 15. Co to jest mnemonik w języku Java?
- 16. Co to jest użycie e.consume() w java
- 17. Co to jest odpowiednik Java obiektu Scala?
- 18. Co to jest serializacja obiektów? (Java)
- 19. Co to jest odpowiednik Java 1.2.2 Pattern.quote()
- 20. Co to jest python dla BigDecimal Java?
- 21. Co to jest "Niewykorzystana zmienna G **** w anonimowej funkcji"?
- 22. co to jest zmienna devise_mapping i jak ją uwzględnić?
- 23. Co to jest zmienna pętli po pętli w Delphi?
- 24. Co to jest "scipy.i"?
- 25. Co to jest podklasa
- 26. Java: Co to znaczy ~
- 27. Co to jest wstawianie?
- 28. Zmienna instancji klasy Ruby vs. zmienna klasy
- 29. O! [CDATA [, co to jest?
- 30. Co to jest incydent?
http://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html – Maroun