我有三个类:B继承表单A和C表单B.我想调用fun2()方法表单B类。因此要求用户输入x和y的值,然后在C类中我想显示用户的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);
}
}
答案 0 :(得分:1)
从班级B bb = new B();
移除C
。并将bb.fun2();
更改为super.fun2();
(super.
可选 - 因为extends
a C
是 - a B
)
或打印来自x
的{{1}}和y
(您已设置它们的位置,目前您在课程bb
中的字段未设置 - 因此要显示已设置的值,您需要从C
)访问它们。
bb