java 判断 继承接口_java基础-接口、继承、多态

2d2779dcd18c05c1f239494a8627f1d8.png

女神镇楼

1、类的继承

继承是面向对象中的一个非常重要的概念,是的整个程序具有一定的弹性,在程序中,复用一些已经定义的完善的类,不仅可以减少软件的开发周期,还可以提高软件的可维护性和可拓展性。

继承的基本思想是基于某个父类的拓展,制造出一个新的子类,子类可继承父类的属性和方法,也可以增加原父类不具备的属性和方法,或者重写父类中的某个方法。比如平行四边形继承了四边形类,这个时候,平行四边形类将所有四边形类中的属性和方法保留下来,并拓展了新的属于自己的属性和方法。

代码示例---父类:

public classTest {public Test(){ //构造方法//SomeSentence

}protected voiddoSomething(){//成员方法

}protectedTest dolt(){//方法返回值类型为Test类型

return newTest();

}

}

代码示例---子类:

public class Test2 extendsTest {publicTest2(){//构造方法

super(); //调用父类的构造方法

super.doSomething(); //调用父类的成员方法

}public voiddoSomethingNeW(){//新增方法

}public voiddoSomeThing(){//重写父类方法

}protectedTest2 dolt(){//重写父类方法,返回值类型为Test2类型

return newTest2();

}

}

实例说明:

实例中,Test类是Test2类的父类,Test2类是Test类的子类,在子类中连同初始化父类的构造方法来完成子类的初始化操作,即可以在子类的构造方法中使用super()语句调用父类的构造方法,也可以在子类中通过super关键字调用父类的成员方法。但是在子类中没有权限调用父类中使用private修饰的方法,只可以调用父类中修饰为public或者protected的成员方法。

继承不止可以拓展父类的功能,还可以对父类的方法进行重写,重写也可以成为覆盖,就是在子类中,将父类的成员方法的名称保留,重写成员方法实现的内容,可更改成员方法的储存权限,或者修改成员方法的返回值类型,还可以将权限修饰符修改为public。

继承中还有一种特殊的重写方式,子类与父类的成员方法的返回值、方法名称、参数类型及个数完全相同,唯一不同的是方法实现内容,这种特殊的重写方式称为重构。

bbabab3fce5c556cbf9252645c66a1ce.png

在java中,一切都是一对象的形式进行处理,在继承机制中,创建一个子类对象,将包含一个父类子对象,这个对象与父类创建的对象是一样的,两者的区别就在于,后者来自于外部,而前者来自子类对象内部。当实例化子类对象时,父类对象也相应被实例化,也就是说,在实例化子类对象时,java编译器会在子类的构造方法中自动调用父类的无参构造方法。

代码示例:

public classParent {

Parent(){

System.out.println("调用父类的Parent()方法");

}

}

public class Subparent extends Parent { //继承Parent

Subparent(){

System.out.println("调用子类Subparent的构造方法");

}

}

public class Subbroutine extends Subparent { //继承 Subparent

Subbroutine(){

System.out.println("调用子类Subbroutine的方法。");

}public static voidmain(String[] args) {

Subbroutine s= newSubbroutine();

}

}

运行结果:

cc2438400e3abb981ca54ff7d77d22ad.png

运行结果说明:

子类Subroutine的主方法中只调用子类的构造方法实例化子类对象,并且在子类的构造方法中没有调用父类构造方法的任何语句,但是在实例化子类对象时,他会相应的调用父类的构造方法

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值