Java构造函数之调用父类构造函数
来源:互联网 发布:自己设计装修图软件 编辑:程序博客网 时间:2024/05/29 12:52
子类可以通过super关键字来显式地调用父类的构造函数。
当父类没有提供无参数的构造函数时,子类的构造函数中必须显式的调用父类的构造函数;
如果父类提供了无参数的构造函数,此时子类的构造函数就可以不显式的调用父类的构造函数,默认调用父类的无参构造函数。
package com.bjut.StudyTest;class Person {public Person() {System.out.println("Base has no args.");}public Person(String temp) {System.out.println("Base:" + temp);}}class Student extends Person {public Student() {super("a");System.out.println("Student has no args.");}public Student(String temp) {System.out.println("Student:" + temp);}}public class TestConstruction {public static void main(String[] args) {Person p = new Student(); // 先调用父类的构造函数,显示调用指定的父类构造函数。Student s = new Student("b"); // 先调用父类的构造函数,默认调用父类无参构造函数。}}输出:
Base:aStudent has no args.Base has no args.Student:b
当有父类时,在实例化对象时会先执行父类的构造函数,然后执行子类的构造函数。
(补充)java 程序初始化工作执行的顺序:
父类静态变量 -> 父类静态代码块 -> 子类静态变量 -> 子类静态代码块
-> 父类非静态变量 -> 父类非静态代码块 -> 父类构造函数
-> 子类非静态代码块 -> 子类非静态变量 -> 子类构造函数
0 0
- Java构造函数之调用父类构造函数
- java构造函数调用构造函数
- Java构造函数中调用构造函数
- java之构造函数
- Java之构造函数
- 拷贝构造函数调用父类的构造函数
- c#构造函数<一>子类调用父类构造函数
- 构造函数调用构造函数
- 构造函数调用构造函数
- 构造函数调用构造函数
- Java父类构造函数调用注意,父类构造函数抛出异常注意
- Java继承,子类默认在构造函数中用super()调用父类构造函数
- Java子类构造函数中默认调用父类的空参构造函数
- java子类构造函数是否需要调用父类的构造函数
- Java继承-子类默认在构造函数中用super()调用父类构造函数
- Java 子类构造函数默认调用父类构造函数super
- Java构造函数调用顺序
- JAVA构造函数的调用
- /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found错误的解决
- c#反射机制学习和利用反射获取类型信息
- Swift-UIImageView使用小结
- Android笔记之圆角布局
- 数组排序sort()
- Java构造函数之调用父类构造函数
- 监控windows服务,当服务停止后自动重启服务
- php中excel的导出导入
- Maven常用命令-创建Web项目
- iOS10XCode8适配各种问题(相对其他的较完善)
- Java 自带的加密类MessageDigest类(加密MD5和SHA)
- 阿里、京东的VR+购物都在等什么?
- 中文分词算法介绍
- maven项目tomcat启动报错