gpt4 book ai didi

JAVA:我如何检查 "protected abstract method"的范围?

转载 作者:行者123 更新时间:2023-12-01 09:48:06 24 4
gpt4 key购买 nike

我是Java编程的初学者,所以我无法测试 protected 抽象方法的范围。

要检查 protected 方法,我测试了此代码:

package A;
public class NewClassA {
protected String a(){ return "a"; }
}

// Main
NewClassA a = new NewClassA();
String str = a.a(); // works fine

//New Package
package B;
import A.NewClassA;
public class NewClassB {
NewClassA x = new NewClassA();
String str = x.a(); // Error convert to a() to public
}

最佳答案

抽象方法是一种没有定义行为的方法。相反,抽象类的自行定义其行为。抽象方法只能在抽象类中定义,并且不能被实例化。例如,在包A中:

package A;
public abstract class NewClassA {
protected abstract String getString();
}

还有:

package A;
public class NewClassB extends NewClassA {
@Override
protected String getString() { //Must be overridden by non-abstract child
return "B";
}
}

然后,包 B 中的某个位置:

package B;
import A.*;
public class ProtectChecker {
NewClassA x = new NewClassA(); //Cannot instantiate abstract NewClassA
NewClassA y = new NewClassB(); //OK

String str = y.getString(); //Error convert to getString() to public
}

关于JAVA:我如何检查 "protected abstract method"的范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37821003/

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