gpt4 book ai didi

java - Java中的受限继承

转载 作者:搜寻专家 更新时间:2023-11-01 01:50:45 24 4
gpt4 key购买 nike

我知道

class A  { } 
class B extends A { }
class C extends B { }

完全合法,我可以

C obj = new C();
obj.anyMethodfromA();

是可能的。现在的问题是,如果我不想访问class C 中的class A 方法怎么办,只应继承class B 方法。这可能吗?

C anotherObj = new C();
anotherObj.anyMethodfromA(); //can be illegal?
anotherObj.anyMethodfromB(); //should be legal.

最佳答案

您不能从classC 中删除classA 方法,您所能做的就是重写classC 中的classA 方法并抛出UnsupportedOperationException。 .喜欢

class C extends B { 

@override
public void someMethodWasInClassA() {
throw new UnsupportedOperationException("Meaningful message");
}

}

关于java - Java中的受限继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33689875/

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