Instanziieren eines Objekts in Java
In Java wird ein Objekt als Instanz einer Klasse bezeichnet. Nehmen wir zum Beispiel an, eine Klasse namens Auto
, dann können SportsCar
, SedanCar
, StationWagon
usw. als Objekte dieser Klasse betrachtet werden.
In diesem Tutorial besprechen wir, wie Objekte in Java instanziiert werden.
Mit dem Schlüsselwort new
können wir Instanzen einer Klasse in Java erstellen. Denken Sie daran, dass wir in Java keine Methoden instanziieren, da Objekte Instanzen von Klassen und keine Methoden sind. Eine Methode ist nur ein Verhalten, das die Klasse besitzt.
Indem wir ein Objekt einer Klasse erstellen, können wir über eine andere Klasse auf seine öffentlichen Methoden zugreifen. Wie im folgenden Code erstellen wir eine Instanz einer zweiten Klasse in der ersten Klasse und verwenden dann die Methoden der zweiten Klasse in der ersten Klasse.
// creating a class named first
public class First {
public static void main(String[] args) {
Second myTest = new Second(1, 2); // instantiating an object of class second
int sum = myTest.sum(); // using the method sum from class second
System.out.println(sum);
}
}
// creating a class named second
class Second {
int a;
int b;
Second(int a, int b) {
this.a = a;
this.b = b;
}
public int sum() {
return a + b;
}
}
Ausgabe:
3
Wenn wir auf die Methoden einer Klasse in einer anderen Methode derselben Klasse zugreifen möchten, ist es nicht erforderlich, ein Objekt zu instanziieren, wenn die Methode als static
deklariert ist.
Zum Beispiel,
public class Testing {
private static int sample(int a, int b) {
return a + b;
}
public static void main(String[] args) {
int c = sample(1, 2); // method called
System.out.println(c);
}
}
Ausgabe:
3
Im obigen Beispiel können wir die Methode sample()
aufrufen, da beide Methoden derselben Klasse angehören und sample()
als static
deklariert ist, sodass kein Objekt erforderlich ist.
Aber wir können die Objektinstanziierung immer noch durchführen, wenn beide Methoden derselben Klasse angehören, wie unten dargestellt. Dies geschieht, wenn die Methode nicht als static
deklariert ist.
Siehe den Code unten.
public class Testing {
private int Sample() {
int a = 1;
int b = 2;
int c = a + b;
return c;
}
public static void main(String[] args) {
Testing myTest = new Testing();
int result = myTest.Sample();
System.out.println(result);
}
}
Ausgabe:
3