1 /*
2 * 子父类中的构造函数的特点。
3 * 在子类构造对象时,发现,访问子类构造函数时,父类也运行了。
4 * 为什么呢?
5 * 原因是:在子类的构造函数中第一行有一个默认的隐式语句。super()
6 * 子类的实例化过程:子类中所有的构造函数默认都会访问父类中的空参数的构造函数。
7 *
8 * 为什么子类实例化的时候要访问父类中的构造函数呢?
9 * 那是因为子类继承了父类,获取到了父类中内容(属性),所以在使用父类内容之前要先看父类是如何对自己的内容进行初始化的。
10 *
11 * 所以子类在构造对象时,必须访问父类中的构造函数。
12 * 为了完成这个必须的动作,就在子类的构造函数中加入了super()语句。
13 *
14 * 如果父类中没有定义空参数构造函数,那么子类的构造函数必须用super明确调用父类中的哪个构造函数。
15 * 同时子类构造函数中如果使用this调用了本类构造函数时,那么super就没有了,因为super和this都只能
16 * 定义第一行。所以只能有一个。
17 * 但是可以保证的是,子类中肯定会有其他的构造函数访问父类的构造函数。
18 *
19 * *注意:super语句必须要定义在子类构造函数的第一行。因为父类的初始化动作要先完成。
20 */
21 class Fu{
22 int num;
23 Fu(){
24 num = 10;
25 System.out.println("A fu run");
26 }
27 //Fu(int x){
28 // System.out.println("fu run");
29 //}
30 Fu(int x){
31 System.out.println("B fu run..."+x);
32 }
33 }
34 class Zi extends Fu {
35 int num;
36 Zi(){
37 //super();//调用的就是父类中的空参数的构造函数。
38 //super(4);
39 System.out.println("C zi fun"+super.num);
40 //return;
41 }
42 Zi(int x){
43 this();//可以调用本类的构造函数 上面的构造函数第一行还是super(); 至少会调用一次父类构造函数
44 //super(x);
45 System.out.println("D zi run"+x);
46 }
47 }
48 public class ExtendsDemo4 {
49 public static void main(String[] args) {
50 new Zi();
51 }
52 }
53
54 class Demo{ //创建的任何类 都属于 extends Object (无论直接间接)所以会存在super()语句
55 /* 类前加public 下面构造方法默认也变成public权限
56 Demo(){
57 super();
58 return;
59 }
60
61 */
62 }

java继承子父类构造函数-子类的实例化过程的更多相关文章

  1. Java继承--子父类中的构造函数

    子父类中的构造函数的特点: 1.在子类构造对象时,发现,访问子类构造函数时,父类构造函数也运行了.   原因是:在子类的构造函数中第一行有一个默认的隐式语句. super(); 类似于this(); ...

  2. Java继承中父类和子类构造函数的问题

    父类有无参构造函数时(显示或隐式),子类的有参和无参构造函数都是默认调用父类的无参构造函数:当父类只有有参构造函数时,子类可以有有参和无参构造函数,子类有参构造函数必须显式调用父类的有参构造函数,子类 ...

  3. java基础课程笔记 static 主函数 静态工具类 classpath java文档注释 静态代码块 对象初始化过程 设计模式 继承 子父类中的函数 继承中的构造函数 对象转型 多态 封装 抽象类 final 接口 包 jar包

    Static那些事儿 Static关键字 被static修饰的变量成为静态变量(类变量) 作用:是一个修饰符,用于修饰成员(成员变量,成员方法) 1.被static修饰后的成员变量只有一份 2.当成员 ...

  4. Java继承--子类的实例化过程

    一个对象的实例化过程: Person p = new Person(); 1,JVM会读取指定的路径下的Person.class文件,并加载进内存,并会先加载Person的父类(如果有直接的父类的情况 ...

  5. java基础:父类与子类之间变量和方法的调用

    1)父类构造函数 java中当调用某个类的构造方法的时候,系统总会调用父类的非静态初始化块进行初始化,这个调用是隐式的,而且父类的静态初始化代码 块总是会被执行,接着调用父类的一个或者多个构造器执行初 ...

  6. JAVA继承中子父类的构造方法

    首先,构造方法本身会有一个隐式的无参构造(默认): ①不写构造方法,类中的第一行代码事实上有一个默认的无参构造(系统会隐式为你写好) public class Student { private St ...

  7. Java泛型 - 返回父类的子类

    一.栗子 public class GenericityInher { //error: Type mismatch: cannot convert from ArrayList<Child&g ...

  8. 【daily】Java泛型 - 返回父类的子类

    一.栗子 public class GenericityInher { //error: Type mismatch: cannot convert from ArrayList<Child&g ...

  9. Java静态函数、父类、子类执行顺序

    package class_test; /** * 静态函数.父类.子类执行顺序 * @author root * */ public class Test { public static void ...

随机推荐

  1. JAVA发送POST请求携带JSON格式字符串参数

    import org.apache.commons.lang.StringUtils; import org.apache.http.HttpEntity; import org.apache.htt ...

  2. 【LeetCode】329. Longest Increasing Path in a Matrix 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址: https://leetcode.com/problems/longest- ...

  3. The Hessian Penalty: A Weak Prior for Unsupervised Disentanglement

    目录 概 主要内容 标量情况 向量情况 处于实际(计算量)的考量 应用到生成模型中 代码 Pebbles W., Pebbles J., Zhu J., Efros A., Torralba A. T ...

  4. element 表格行内进行编辑

    <template> <div class="process_manage"> <el-card class="box-card" ...

  5. <数据结构>拓扑排序

    有向无环图 有向无环图(Directed Acycilc Graph, DAG):从任意顶点出发都无法回到自身的有向图. 拓扑排序 定义 任一两个顶点u,v间,如果存在边u->v,则排序后u一定 ...

  6. 【jvm】08-垃圾回收器那么多傻傻分不清?

    [jvm]08-垃圾回收器那么多傻傻分不清? 欢迎关注b站账号/公众号[六边形战士夏宁],一个要把各项指标拉满的男人.该文章已在github目录收录. 屏幕前的大帅比和大漂亮如果有帮助到你的话请顺手点 ...

  7. Spring练习,使用注解的方式,完成模拟用户的正常登录。要求如下: 使用注解方式开发模拟用户的正常登录。

    相关 知识 >>> 相关 练习 >>> 实现要求: 在该实践案例中,使用注解的方式,完成模拟用户的正常登录. 要求如下: 使用注解方式开发模拟用户的正常登录. 实现 ...

  8. 在Java中为什么不同的返回类型不算方法重载?

    本文已收录<Java常见面试题>:https://gitee.com/mydb/interview 方法重载是指在同一个类中,定义了多个同名方法,但每个方法的参数类型或者是参数个数不同就是 ...

  9. 欢迎收看 Flink Forward Asia 2021 峰会直播

    在线收看地址:https://developer.aliyun.com/special/ffa2021/live#?utm_content=g_1000316459 Flink 是由 Apache 软 ...

  10. vue再页面渲染json数据时没有显示

    对象点属性不能获取数据. 原因: 在创建数据对象时我使用了k,v方式:tempMap['category '] = this.category[i].label 如果在创建数据时使用的k,v方式,那么 ...