风也温柔

计算机科学知识库

java构造方法的特点 java中子类调用父类构造方法注意事项

  继承

  继承有个特点,就是子类无法访问父类的字段或者方法。例如java构造方法的特点 java中子类调用父类构造方法注意事项,类就无法访问类的name和age字段:

  class {

   name;

   int age;

  }

  class {

   hello() {

   "Hello, " + name; // 编译错误:无法访问name字段

  }

  }

  这使得继承的作用被削弱了。为了让子类可以访问父类的字段,我们需要把改为。用修饰的字段可以被子类访问:

  class {

   name;

   int age;

  }

  class {

   hello() {

   "Hello, " + name; // OK!

  }

  }

  因此,关键字可以把字段和方法的访问权限控制在继承树内部,一个字段和方法可以被其子类,以及子类的子类所访问,后面我们还会详细讲解。

  2.super的使用

  super关键字表示父类(超类)。子类引用父类的字段时java构造方法的特点,可以用super.。例如:

  class {

   hello() {

   "Hello, " + super.name;

  }

  }

  上面的代码执行会有编译错误,构造方法,无法调用的构造方法。

  解析:任何class的构造方法java构造方法的特点,必须先构造发父类的构造方法。如果没有明确的调用父类的构造方法,编译器会自动帮我们加一句super(),所以类的构造方法实际上是这样

  java构造方法的特点_java构造二叉树_地层的基本构造和特点

  那么问题就出在父类即类没有默认的构造方法,子类即必须显示调用重载以后的构造函数,即

  类中的写法为

  java构造二叉树_java构造方法的特点_地层的基本构造和特点

  总结:如果父类没有默认的构造方法,子类必须显示地调用super()并给出参数,让编译器定位到一个合适的构造方法。同时,子类不会继承任何父类的构造方法,子类默认的构造方法是编译器自动生成的,不是继承的

  文章来源:https://zhuanlan.zhihu.com/p/128642066