[英]Can I add more than one override method in a constructor in Java?
就像在下面的例子中一样,我在构造函数中添加了两个覆盖方法 build() 和 buildAdd()。 所以可以做到这一点。
public class createData {
...
public createData(DataAdd dataAdd){
super(dataAdd);
build();
buildAdd();
}
@Override
public void build(){
...
}
@Override
public void buildAdd(){
...
}
}
我假设您的类createData
(顺便说一下,Java 中的类名应该大写)扩展了其他一些类,对吗?
明确地说,您不是在构造函数中添加覆盖,而是在类中添加覆盖并从构造函数调用它们。
所以是的,你可以这样做,你甚至可以这样做:
public class GenericCreateData
{
public GenericCreateData(DataAdd dataAdd)
{
...
build();
buildAdd();
}
public void build()
{
System.out.println("genericBuild");
}
public void buildAdd()
{
System.out.println("genericBuildAdd");
}
}
public class SpecificCreateData extends GenericCreateData
{
public SpecificCreateData(DataAdd dataAdd)
{
super(dataAdd);
}
@Override
public void build()
{
System.out.println("specificBuild");
}
@Override
public void buildAdd()
{
System.out.println("specificBuildAdd");
}
}
调用new GenericCreateData(dataAdd)
将输出:
genericBuild
genericBuildAdd
调用new SpecificCreateData(dataAdd)
将输出:
specificBuild
specificBuildData
由于方法是在特定实例类型上调用的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.