【发布时间】:2011-04-21 12:08:46
【问题描述】:
在抽象类中编写私有方法有什么用,我们可以在该类中编写公共静态吗?请举个例子。
【问题讨论】:
-
您是否尝试过在抽象类中创建私有方法?怎么了?这就是你的答案
-
听起来像一个家庭作业,如果是的话,也用 homework 关键字标记它
标签: java
在抽象类中编写私有方法有什么用,我们可以在该类中编写公共静态吗?请举个例子。
【问题讨论】:
标签: java
您可以在抽象类中使用任何类型的方法。抽象类和普通类的唯一区别是抽象类包含没有主体的方法:
public abstract Foo {
public void foo() {
bar();
}
private void bar() {
doSomething();
}
protected abstract void doSomething();
}
所以虽然bar() 不知道doSomething() 到底做了什么,但它知道它最终会存在以及如何调用它。
这足以让编译器为类创建字节码。
【讨论】:
我们可以在抽象类和私有方法中实现我们的实现
例如:
public abstract class AbstractDAO{
public void save(){
validate();
//save
}
private void validate(){ // we are hiding this method
}
}
【讨论】:
但抽象方法永远不能是私有的,它必须是公共的或受保护的,否则子类将无法定义它
【讨论】: