继承调用超类方法java
我有三个类:B继承形式A和C形式B。我想从B类调用fun2()方法。因此,要求用户输入x和y的值,然后在类C中,我想显示用户的输入调用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);
}
}
# 1 楼答案
从类}更改为{}(并且{}是可选的,因为{}a{}是-a{})
C
中删除B bb = new B();
。并且将{或从
bb
打印x
和y
(在您设置它们的地方,当前未设置类C
中的字段-因此要显示设置的值,您需要从bb
访问它们)