gpt4 book ai didi

Java 抽象类——找不到符号——方法错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:50:48 24 4
gpt4 key购买 nike

我是 Java 编程的新手,需要一些帮助。我有一个抽象类,其中包含一个非抽象方法和一个抽象方法。从抽象类(A 类)我通过使用 "this.getSize();" 调用子类(B 类)的方法(我理解 "this"表示调用该方法的对象类型。所以在这种情况下 -B) 但我在尝试编译类 A 时遇到错误:

" Cannot find symbol - method getSize() "

我想这可能是因为我是从抽象方法调用它的,但我不确定。请帮助.. 谢谢。

这是我的代码:

abstract class A{

public int size()
{
return this.getSize();
}

//abstract method
abstract void grow(int f);
}


class B extends A{
private int size = 1; //default set of size

public int getSize(){ return size; }

public void grow(int factor)
{
size = size * factor;
}
}

最佳答案

父类(super class)不能引用实现类的方法。您需要将 getSize 声明为抽象方法。

A.class

abstract class A {

public int size() {
return this.getSize();
}

abstract public int getSize();

// abstract method
abstract void grow(int f);

}

B级

class B extends A {
private int size = 1; // default set of size

public int getSize() {
return size;
}

public void grow(int factor) {
size = size * factor;
}

public static void main(String[] args) {
B b = new B();
System.out.println(b.getSize()); //Prints 1
}
}

关于Java 抽象类——找不到符号——方法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15443613/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com