A C ++ -ban minden osztálytag-módszer nem virtual. Hogy elkészítsük, így egy kulcsszót kell használnunk az úgynevezett előtagként virtuális - Míg a Java -ban alapértelmezés szerint minden osztálytag -módszert virtuálisként. Annak érdekében, hogy nem virtualissá tegyük őket, a kulcsszót használjuk végső -
részstring string java
A Java referenciaváltozói alapvetően olyan változók, amelyek az objektum címét hexadecimális típusban tartják, amelyet később olyan bináris rendszerre konvertálnak, amely alapvetően a halommemórián tárolandó objektum címe.
A referenciaváltozók, amelyek különböznek a primitív típusoktól, mivel méretük nem számítható ki. A Java -ban a szülői osztály referenciaváltozója képes tartani az objektum referenciáját, valamint a gyermekobjektum referenciáját. Lássuk a nem módszertagokról egy példának segítségével.
Példa:
np.argmaxJava
// Java Program to Demonstrate that Non-method Members // are Accessed according to Reference Type // (Unlike methods that are accessed according // to the referred object) // Class 1 // Super class class Parent { int value = 1000; // Constructor of super class Parent() { // Print statement System.out.println('Parent Constructor'); } } // Class 2 // Sub class class Child extends Parent { int value = 10; // Constructor of sub class Child() { // Print statement System.out.println('Child Constructor'); } } // Class 3 // Main class class GFG { // Main driver method public static void main(String[] args) { // Creating an object of sub class inside main() // method Child obj = new Child(); // Printing the reference of child type System.out.println('Reference of Child Type :' + obj.value); // Note that doing 'Parent par = new Child()' // would produce same result Parent par = obj; // Par holding obj will access the value // variable of parent class // Printing the reference of parent type System.out.println('Reference of Parent Type : ' + par.value); } }
Kibocsátás
Parent Constructor Child Constructor Reference of Child Type :10 Reference of Parent Type : 1000
Kimeneti magyarázat: Ha egy szülői referenciaváltozó tartja a gyermekosztály referenciáját, és mind a szülő, mind a gyermekosztályban mind a szülő, mind a gyermekosztályban az „érték” változó van, akkor a szülői osztály „érték” változóra utal -e, függetlenül attól, hogy tartja -e a gyermekosztály -objektum referenciáját. A gyermekosztály -objektum referencia -referencia -referencia nem fogja elérni a gyermekosztály tagjait (funkcióit vagy változókat). Ennek oka az, hogy a szülő referenciaváltozó csak a szülő osztályban található mezőkhöz férhet hozzá. Így a referencia -változó típusa dönti el, hogy az „érték” melyik verzióját hívják, és nem az objektum típusú instantálását. Ennek oka az, hogy a fordító csak a módszerekhez használ egy speciális futási idejű polimorfizmus mechanizmust. (Ott az objektum típusának instantiált típusa eldönti, hogy a módszer melyik verzióját kell hívni).
Jegyzet: Lehetővé teszi a gyermekadatok tagjainak hozzáférését a szülői mutató használatával a typeCasting segítségével.