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使用IDEA本地调试服务的代码

    然后将启动参数的 jdwp=transport=dt_socket,server=y,suspend=n,address=8086 放到服务器上 在执行jar包的命令加入这个 例如 java -jar ...

  2. ubuntu下AF_INET和AF_INET6的值

    关于 演示环境 $ uname -a Linux xxxxxxx 5.4.0-47-generic #51-Ubuntu SMP Fri Sep 4 19:50:52 UTC 2020 x86_64 ...

  3. 设计owllook网络小说推荐系统

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 数据 推荐算法 协同过滤 基于流行度的推荐 基于用户标签相似度的推荐 评价指标 算 ...

  4. 【LeetCode】260. Single Number III 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 异或 字典 日期 题目地址:https://leet ...

  5. codeforces626D . Jerry's Protest

    Andrew and Jerry are playing a game with Harry as the scorekeeper. The game consists of three rounds ...

  6. Problem 2233 ~APTX4869

    Problem 2233 ~APTX4869 Accept: 55    Submit: 176Time Limit: 1000 mSec    Memory Limit : 32768 KB Pro ...

  7. Codeforces 567D:One-Dimensional Battle Ships(二分)

    time limit per test : 1 second memory limit per test : 256 megabytes input : standard input output : ...

  8. 【jvm】03-写了final就是常量池了么

    [jvm]03-写了final就是常量池了么 欢迎关注b站账号/公众号[六边形战士夏宁],一个要把各项指标拉满的男人.该文章已在github目录收录. 屏幕前的大帅比和大漂亮如果有帮助到你的话请顺手点 ...

  9. MySQL高级查询与编程笔记 • 【第1章 数据库设计原理与实战】

    全部章节   >>>> 本章目录 1.1 数据需求分析 1.1.1 数据需求分析的定义 1.1.2 数据需求分析的步骤和方法 1.1.3 数据流程图 1.1.4 数据字典 1. ...

  10. Linux下如何部署FTP服务器

    FTP 是 File Transfer Protocol 的缩写,即文件传输协议,它通过网络在服务器和客户端之间传输文件,现在已经成为一种广泛使用的标准工具 vsftpd 是 very secure ...