[英]Inheritance calling superclass method java
我有三個類:B繼承表單A和C表單B。我想調用fun2()方法表單B類。 因此,要求用戶輸入x和y的值,然后在類CI中要顯示用戶的imput調用fun2()方法。 無論用戶的輸入是什么,程序都會顯示x = 0 y = 0。 如何在C類中訪問x和y的值?
import java.util.Scanner;
public class myClass{
public static void main(String[] args) {
C ccc = new C();
ccc.fun3();
}
}
class A
{
Scanner in= new Scanner (System.in);
int x, y;
public void fun1()
{
System.out.println("x= ");
x=in.nextInt();
System.out.println("y= ");
y=in.nextInt();
}
}
class B extends A
{
public void fun2()
{
System.out.println("fun2");
fun1();
}
}
class C extends B
{
B bb = new B();
public void fun3()
{
bb.fun2();
System.out.println("fun3");
System.out.println("x= "+ x);
System.out.println("y= "+ y);
}
}
刪除B bb = new B();
來自C
類。 並更改bb.fun2();
到super.fun2();
(並且super.
是可選的 -由於extends
了C
is-a B
)
或從bb
打印x
和y
(已設置它們的位置,當前未設置C
類中的字段-因此要顯示已設置的值,您需要從bb
訪問它們)。
System.out.println("x= "+ bb.x);
System.out.println("y= "+ bb.y);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.