java继承 构造器 重载,重写

来源:互联网 发布:知乎45回答 编辑:程序博客网 时间:2024/06/07 00:02

继承的重写 (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); 不能直接调用父类的构造器

    ​}

}

原创粉丝点击