I tak, studiując język Java, po prostu nie mogę zrozumieć, czym jest typ referencyjny i dlaczego należy go określić, deklarując instancję klasy. Na przykład w przypadku klasy
String
wszystko wydaje się jasne:
//Создаётся połączyć типа String
String s = "Ссылка на obiekt, представляющий собой строку";
Ale cała jasność znika, gdy zastosuje się podobne podejście: powiedzmy, że są dwie klasy: A (с методом a1)
i B (с методом b1)
.
class A
{
public static void a1()
{
///
}
}
class B
{
public static void b1()
{
///
}
}
Istnieje również klasa posiadająca main
metodę, w której np. tworzony jest obiekt klasy AB
.
class GetTypeVar
{
public static void main(String[] args)
{
A obj1 = new A();
B obj2 = new B();
}
}
A właściwie na czym polega nieporozumienie:
- Co w tym przypadku oznacza typ tworzonej zmiennej?
- Jaki typ danych masz na myśli?
class GetTypeVar
{
public static void main(String[] args)
{
B obj1 = new A();
A obj2 = new B();
}
}
Oznacza to, że łącze prowadzące do instancji jednej klasy jest ustawione na typ klasy innej. Po co? Co to daje? Generalnie powstanie tego tematu było inspirowane myślami o poszukiwaniu prawdy. Z przyjemnością usłyszę wartościowe słowa pożegnalne...
GO TO FULL VERSION