行业资讯网欢迎您!!!

网站收藏健康资讯网联系我们

导航菜单

继承父类方法(12/30)

继承父类方法

      在编程语言里,继承父类方法是重要特性。子类能复用父类已有的方法,极大减少代码冗余。以Python为例,定义父类,在其中撰写通用方法,当创建子类时,只需在括号内指明父类,子类便自动获取那些方法。这让程序构建更高效,比如有“动物”父类含“移动”方法,“猫”“狗”子类继承它,不用重写移动逻辑,还能依自身特性,在继承基础上拓展,给“猫”类添加更敏捷的移动细节,既保留共性,又凸显个性,让代码架构清晰又实用 。

继承父类方法-如何让子类继承父类的方法和属性?

      能的1、除了JAVA中,子类继承父类的所有方法和属性(构造方法要用关键字super([参数])调用)另外,当父类的方法或属性被声明为private(私有的)时,子类也是不可以继承的。

      2、继承是JAVA中一个重要的特色,便于程序的编写,提高代码的重用性。

继承父类方法-vs如何新建一个子类继承父类?

      要新建一个子类继承父类,可以使用关键字"extends"。

      首先,在子类的声明中使用"extends"关键字,后面跟上父类的名称。

      然后,子类就会继承父类的属性和方法。子类可以在自己的定义中添加新的属性和方法,也可以重写父类的方法。通过继承,子类可以获得父类的功能,并且可以子类就可以在父类的基础上进行特定的功能实现,实现代码的复用和扩展性。

继承父类方法-子类能继承父类的哪些变量和方法

      (1)子类继承父类的成员变量,包括实例成员变量和类成员变量。

      (2)子类继承父类除构造方法以外的成员方法,包括实例成员方法和类成员方法。(3)子类不能继承父类的构造方法,因为父类的构造方法用来创造父类对象,子类需定义自己的构造方法,用来创建自己的子类。(4)子类可以重新定义父类成员。

继承父类方法-关于java中子类继承父类的构造方法

      java继承中对构造函数是不继承的,只是调用(隐式或显式)。

      举例说明:

      public class FatherClass {

      public FatherClass() {

      System.out.println(100);

      public FatherClass(int age) {

      System.out.println(age);

      public class SonClass extends FatherClass{

      public SonClass() {

      public SonClass(int c) {

      System.out.println(1234);

      public static void main(String[] args) {

      SonClass s = new SonClass(66);

      编译后执行结果:

      分析:SonClass s = new SonClass(66);执行这句时,调用

      public SonClass(int c) {

      System.out.println(1234);//系统会自动先调用父类的无参构造函数(super())

      在这个构造函数中,等价于

      public SonClass(int c) {

      super();//必须是第1行,否则不能编译

      System.out.println(1234);

      所以结果是 100 1234

      3.如果子类构造函数是这样写的

      public SonClass(int c) {

      super(22);//必须是第1行,否则不能编译

      //显式调用了super后,系统就不再调用无参的super()了;

      System.out.println(1234);

      执行结果是 22

      1234

      总结1:构造函数不能继承,只是调用而已。

      如果父类没有无参构造函数

      创建子类时,不能编译,除非在构造函数代码体中第一行,必须是第一行显式调用父类有参构造函数

      SonClass (){

      super(777);//显示调用父类有参构造函数

      System.out.println(66);

      如果不显示调用父类有参构造函数,系统会默认调用父类无参构造函数super();

      但是父类中没有无参构造函数,那它不是不能调用了。所以编译就无法通过了。

      总结2:创建有参构造函数后,系统就不再有默认无参构造函数。

      如果没有任何构造函数,系统会默认有一个无参构造函数。

继承父类方法-关于java中子类继承父类的构造方法

      java继承中对构造函数是不继承的,只是调用(隐式或显式)。

      举例说明:

      public class FatherClass {

      public FatherClass() {

      System.out.println(100);

      public FatherClass(int age) {

      System.out.println(age);

      public class SonClass extends FatherClass{

      public SonClass() {

      public SonClass(int c) {

      System.out.println(1234);

      public static void main(String[] args) {

      SonClass s = new SonClass(66);

      编译后执行结果:

      分析:SonClass s = new SonClass(66);执行这句时,调用

      public SonClass(int c) {

      System.out.println(1234);//系统会自动先调用父类的无参构造函数(super())

      在这个构造函数中,等价于

      public SonClass(int c) {

      super();//必须是第1行,否则不能编译

      System.out.println(1234);

      所以结果是 100 1234

      3.如果子类构造函数是这样写的

      public SonClass(int c) {

      super(22);//必须是第1行,否则不能编译

      //显式调用了super后,系统就不再调用无参的super()了;

      System.out.println(1234);

      执行结果是 22

      1234

      总结1:构造函数不能继承,只是调用而已。

      如果父类没有无参构造函数

      创建子类时,不能编译,除非在构造函数代码体中第一行,必须是第一行显式调用父类有参构造函数

      SonClass (){

      super(777);//显示调用父类有参构造函数

      System.out.println(66);

      如果不显示调用父类有参构造函数,系统会默认调用父类无参构造函数super();

      但是父类中没有无参构造函数,那它不是不能调用了。所以编译就无法通过了。

      总结2:创建有参构造函数后,系统就不再有默认无参构造函数。

      如果没有任何构造函数,系统会默认有一个无参构造函数。

版权声明:本站内容由互联网用户投稿自发贡献或转载于互联网,文章观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至2024tuiguang@gmail.com举报,一经查实,本站将立刻删除。

合作:2024tuiguang@gmail.com