Soumik Das :
Like in the below example, I added two overrides methods build() & buildAdd() in the constructor. So can this be done.
public class createData {
...
public createData(DataAdd dataAdd){
super(dataAdd);
build();
buildAdd();
}
@Override
public void build(){
...
}
@Override
public void buildAdd(){
...
}
}
Pedro Borges :
I assume your class createData
(class names in Java should be capitalised by the way) extends some other class right?
To make it clear, you're not adding overrides in the constructor, you're adding overrides in the class and calling them from the constructor.
So yes, you can do that, you can even do:
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");
}
}
calling new GenericCreateData(dataAdd)
will output:
genericBuild
genericBuildAdd
calling new SpecificCreateData(dataAdd)
will output:
specificBuild
specificBuildData
Since methods are called on the specific instance type
Guess you like
Origin http://43.154.161.224:23101/article/api/json?id=366566&siteId=1