JavaRush /Java Blog /Random-TL /Ano ang uri ng data ng sanggunian

Ano ang uri ng data ng sanggunian

Nai-publish sa grupo
At kaya, habang pinag-aaralan ang wikang Java, hindi ko lang maintindihan kung ano ang uri ng sanggunian at kung bakit kailangan itong tukuyin kapag nagdedeklara ng isang instance ng isang klase. Sa klase String, halimbawa, ang lahat ay tila malinaw: Ano ang uri ng data ng sanggunian - 1
//Создаётся link типа String
String s = "Ссылка на an object, представляющий собой строку";
Ngunit ang lahat ng kalinawan ay nawawala kapag ginamit ang isang katulad na diskarte: Sabihin nating mayroong dalawang klase: A (с методом a1)at B (с методом b1).
class A
{
    public static void a1()
    {
        ///
    }
}

class B
{
    public static void b1()
    {
        ///
    }
}
Mayroon ding isang klase na may mainisang pamamaraan kung saan, halimbawa, isang bagay ng klase ay nilikha AB.
class GetTypeVar
{
    public static void main(String[] args)
    {
        A obj1 = new A();
        B obj2 = new B();
    }
}
Kaya, sa totoo lang, ano ang hindi pagkakaunawaan:
  • Ano ang ibig sabihin ng uri ng variable na nilikha sa kasong ito?
  • Anong uri ng data ang ibig mong sabihin?
Ito ay lalong hindi malinaw kapag ang isang bagay ay nilikha tulad nito:
class GetTypeVar
{
    public static void main(String[] args)
    {
        B obj1 = new A();
        A obj2 = new B();
    }
}
Iyon ay, ang isang link na humahantong sa isang halimbawa ng isang klase ay nakatakda sa uri ng klase ng isa pa. Para saan? Ano ang ibinibigay nito? Sa pangkalahatan, ang paglikha ng paksang ito ay inspirasyon ng mga kaisipan sa paghahanap ng katotohanan. Natutuwa akong marinig ang mga de-kalidad na pamamaalam...
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION