erklären, wie seine Ausgabe kommen wird? Ich habe Zweifel Objekt für welche Klasse in beiden Fällen erstellt wird. Ich bin neu in Java, also bitte erläutern Sie kurz den Objekt Instanziierungsprozess. In diesem Programm erwarte ich die Ausgabe als 150, aber ans = s 90. Wie Methoden und Datenvariablen auf den Unterschied zugreifen?Können Sie bitte den Unterschied zwischen dem Code unter
Programm 1:
class Bike
{
int speedlimit=90;
}
class Honda3 extends Bike
{
int speedlimit=150;
public static void main(String args[])
{
Bike obj=new Honda3();
System.out.println(obj.speedlimit);//90
}
}
Programm 2:
class Bike
{
int speedlimit=90;
void display()
{
System.out.println(speedlimit);
}
}
class Honda3 extends Bike
{
int speedlimit=150;
void display()
{
System.out.println(speedlimit);
}
public static void main(String args[])
{
Bike obj=new Honda3();
obj.display();
}
}
Erklären diff zwischen diesen beiden Codes. In Programm 1 wird das Objekt für Honda3
erstellt und ist dem Objekt Bike
zugeordnet. Ich habe nicht verstanden, wie Super-Klasse-Methode ausgeführt wird?
Felder sind nicht polymorph. Wenn Sie auf "obj.speedlimit" auf einen Bezug zu einem 'Bike' zugreifen, erhalten Sie' Bike.speedlimit', unabhängig davon, ob es ein Feld namens 'speedlimit' in der konkreten Unterklasse von' Bike' gibt. –