簡體   English   中英

繼承調用超類方法java

[英]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.可選的 -由於extendsC is-a B

bb打印xy (已設置它們的位置,當前未設置C類中的字段-因此要顯示已設置的值,您需要從bb訪問它們)。

System.out.println("x= "+ bb.x);
System.out.println("y= "+ bb.y);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM