当前位置: 技术问答>java相关
子类中重载父类方法时调用该父类方法
来源: 互联网 发布时间:2015-09-09
本文导语: 我的实验代码如下,不知道当该方法复杂时会不会引起问题,或者说这种方法会不会有缺陷: //base class class a { private int type = 1; public int getType() { return this.type; } } //subclass extends from a class ...
我的实验代码如下,不知道当该方法复杂时会不会引起问题,或者说这种方法会不会有缺陷:
//base class
class a
{
private int type = 1;
public int getType()
{
return this.type;
}
}
//subclass extends from a
class c extends a
{
public int getType()
{
return super.getType() + 1;
}
}
//subclass extends from c
public class b extends c
{
public int getType()
{
return super.getType() + 1;
}
public static void main(String[] args)
{
b tmp = new b();
System.out.println(tmp.getType());
}
}//end c
//base class
class a
{
private int type = 1;
public int getType()
{
return this.type;
}
}
//subclass extends from a
class c extends a
{
public int getType()
{
return super.getType() + 1;
}
}
//subclass extends from c
public class b extends c
{
public int getType()
{
return super.getType() + 1;
}
public static void main(String[] args)
{
b tmp = new b();
System.out.println(tmp.getType());
}
}//end c
|
super应该是最上一层的吧???
|
一般方法重载,不应写成这个样子
|
其实调用完super之后,你应该在子类的实现中加入一些新的功能,否则就失去意义了。这种方法当然不会有什么缺陷,相反这这是面向对象编程的一个比较重要的特征啊,向下造型,多性性是面向对象编程过程中非常重要的啊。
|
写成这个样子没问题。效率如何只有实践才知道。
|
实际意义是什么?