继承的重写 (Override)
class Base
{
public void function1() //无参数的方法
{
功能1;
}
public void function1(Datatype var1) //带一个参数的方法
{
功能2;
}
}
class Sub extends Base
{
public void function1()
[
//如果需要和父类的function1功能完全一样,直接调用父类的function1()
super.function1();
//如果希望子类的function1()功能和父类的不一样,那么就需要重新写子类的function1()
//各种自定义的..功能
}
}
=================================================================================
继承的重载 (Overload)
默认下子类继承了父类所有的public公有的方法,private的不能获得
方法的重载是相同的函数名,但是方法里面的参数列表不同,和一般方法重载一样
所以当父类的function是private修饰时,子类的function是新建的和父类没关系
class Base
{
public void function1() //无参数的方法
{
功能1;
}
public void function1(Datatype var1) //带一个参数的方法
{
功能2;
}
}
class Sub extends Base
{
public void function1(和父类参数列表不同的参数)
{
功能;
}
}
=================================================================================
=================================================================================
对父类构造器的调用
子类不能获得父类的构造器
子类不能直接使用父类的构造器,但是可以在子类的构造器中使用super(value)来调用父类的构造器
class Base
{
Base(){} //不带参数的构造器
Base(Datatype var)
{
功能1;
}
Base(Datatype var1,Datatype var2)
{
功能1;
功能2;
}
}
class Sub extends Base
{
Sub(){} //不带参数的子类
Sub (Datatype var1) //带一个参数的子类构造器
{
super(var1);
其他功能;
}
Sub(Datatype var1,Datatype var2) //带两个参数的子类构造器
{
super(var1,var2);
其他功能;
}
public static void (String[] arg)
{
//这样使用子类的构造器,简介使用了父类的构造器,对这些初始化
//错误的使用
//new super(var1,var2); 不能直接调用父类的构造器
}
}
本文详细介绍了在面向对象编程中,子类如何通过重写实现与父类方法的不同行为,以及如何通过重载提供多个功能相似但参数不同的方法。同时,文中还解释了如何在子类构造器中调用父类构造器。
1197

被折叠的 条评论
为什么被折叠?



