我想强制我的抽象类孩子实现我的抽象方法为私有。这可能吗?
首先@Ravinder Reddy的回答是绝对正确的,你不应该在不接受我的条款和条件的情况下使用我的例子,这些条款和条件基本上是这样的(“使用风险自负”)。
我不能说它漂亮或有用,但我想你可以这样做:
public abstract class Master {}
public abstract class Super extends Master{
protected abstract void foo();
}
public class Sub extends Master {
private Inner inner = new Inner();
private void foo() {
inner.foo();
}
private class Inner extends Super {
@Override
protected void foo() {
System.out.println("foo");
}
}
}
附言:我不认为它在任何方面都有用(我甚至不确定这是否有效)。
重写方法的可见性不能小于重写方法的可见性。也就是说,您不能覆盖公共方法并将其设置为受保护或私有。
由于抽象方法要么是受保护的,要么是公开的,而不是默认的(因为它们应该被子类重写),因此该方法的实现不能是私有的。
问题内容: 是否可以在Java中定义私有抽象类?Java开发人员将如何编写如下的构造? 问题答案: 您不能使用Java中的方法。 当方法为时,子类无法访问它,因此它们无法覆盖它。 如果您想要类似的行为,则需要方法。 这是一个编译时错误,如果包含该关键字的方法声明中还包含关键字的任意一个,,,,,或。 和 子类不可能实现方法,因为方法不是子类继承的。因此永远不能使用这种方法。 资源: JLS-8.4
问题内容: 是否可以在不添加抽象方法的情况下定义抽象类? 问题答案: 当然。 声明一个类抽象仅意味着您不允许自己对其进行实例化。 声明方法抽象意味着子类必须提供该方法的实现。 这两个是单独的概念,尽管很明显,您不能在非抽象类中使用抽象方法。您甚至可以使用带有方法的抽象类,但绝不能相反。
本文向大家介绍抽象类必须要有抽象方法吗?相关面试题,主要包含被问及抽象类必须要有抽象方法吗?时的应答技巧和注意事项,需要的朋友参考一下 不需要,抽象类不一定非要有抽象方法;但是包含一个抽象方法的类一定是抽象类。 示例代码: 上面代码,抽象类并没有抽象方法但完全可以正常运行。
这似乎是一个基本问题。但在采访前需要澄清。 我在抽象类中有一个非抽象方法。它的具体类重写了该方法。但我想调用父类的原始方法来调用,而不是重写方法。有什么办法吗? 据我所知,没有办法调用原始方法?
本文向大家介绍php中的抽象方法和抽象类,包括了php中的抽象方法和抽象类的使用技巧和注意事项,需要的朋友参考一下 1、什么是抽象方法? 我们在类里面定义的没有方法提的方法就是抽象方法。所谓的没有方法体指的是,在声明的时候没有大括号以及其中的内容,而是直接在声明时在方法名后加上分号结束,另外在声明抽象方法时方法还要加一个关键字"abstract"来修饰。 例如: 2、什么是抽象类? 只要一个类里面
我正在尝试对扩展抽象基的类进行单元测试。以下是“类似的类”,以供说明: 下面是我正在尝试的单元测试: 当我做这个测试的时候 java.lang.NullPointerException 在中 我知道自动连线的“滤水器”没有初始化。但接下来,我只想在我的单元测试中模拟抽象的“非抽象”方法。 我该如何使用EasyMock来实现这一点呢?另外,我不知道和应该做什么。