子类继承父类,子类中就拥有父类的所有属性和方法。在创建子类的实例的时候,父类和子类到底是如何执行的呢?还有静态代码块和非静态代码块和构造方法的执行顺序?

1.先执行父类的静态代码块,然后再子类静态代码块

2.父类的非静态代码块,构造方法

3.子类的非静态代码块,构造方法

对象的初始化顺序

静态代码块内容先执行,接着执行父类非静态代码块和构造方法,然后执行子类非静态代码块和构造方法。

注意:子类的构造方法,不管这个构造方法带不带参数,默认的它都会先去寻找父类的不带参数的构造方法。

如果父类没有不带参数的构造方法, 那么子类必须用supper关键子来调用父类带参数的构造方法,否则编译不能通过。

当一个类中有多个static{}的时候,按照static{}的定义顺序,从前往后执行;

看代码:

package com.zhb.basic;

/**

*子类和父类的关系

* @author Administrator

*

*/

public class Test1 extends superTest1{

public Test1(){

super("xxx");//父类没有无参构造方法,有有参的构造方法,就要显式调用super(参数)

System.out.println("xxxx子类构造方法");

}

public Test1(String name){

super("xxx");//同上

System.out.println("子类类有参构造函数");

}

{

System.out.println("我是子类非静态代码块");

}

{

System.out.println("我是子类非静态代码块2");

}

static{

//当一个类中有多个static{}的时候,按照static{}的定义顺序,从前往后执行;

System.out.println("我是子类静态代码块");

}

public static void main(String[] args){

/*Test1 t = new Test1();

char a = 'a' - 32;

char b = Character.toUpperCase('c');

System.out.println(b);

System.out.println(t.testUpperCase("AVVV"));

long x = 222_5555;

System.out.println(x);*/

//子类和父类的关系

Test1 t1 = new Test1("xxx");

}

}

class superTest1{

/*public superTest1(){

System.out.println("suerTest1无参构造方法");

}*/

public superTest1(String name){

System.out.println("父类有参构造函数");

}

{

System.out.println("我是父类类非静态代码块");

}

static{

System.out.println("我是父类静态代码块");

}

public final void cry(){

System.out.println("haha");

}

}

输出: 我是父类静态代码块 我是子类静态代码块 我是父类类非静态代码块 suerTest1构造方法 我是子类非静态代码块 xxxx子类构造方法

java中父类和子类_java中父类和子类的关系相关推荐

  1. java父类转子类_java中什么是继承,和继承的接口的关系?

    继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父 ...

  2. java继承父类执行顺序_java中子类继承父类程序执行顺序问题

    Java中,new一个类的对象,类里面的静态代码块.非静态代码.无参构造方法.有参构造方法.类的一般方法等部分,它们的执行顺序相对来说比较简单,用程序也很容易验证.比如新建一个测试父类. public ...

  3. java中子类与父类强制转换_java中父类强制转换成子类的错觉

    引言:父类引用指向子类对象在java中十分常见,比如: Object object=new a();//a是一个类名 但是有时候我们看见子类引用指向了父类对象,就是上边的反过来,比如 图片中圈1标识的 ...

  4. java子类访问父类私有成员_Java中子类可以继承父类的私有成员,但是不能(直接)访问!!!...

    今天学习Java三大特征之一:继承的时候,产生了一些疑问,最后通过网上查找和各位网友的帮助,终于拔开云雾见日出.下面进入正题: 首先:子类对象拥有父类中的所有属性和方法:在这里,很多人会问构造器可以继 ...

  5. java 父类访问子类_java中父类访问子类变量

    我们都知道,子类的方法可以访问父类的实例变量,这是因为子类继承父类就会获得父类的成员变量和方法:但是父类的方法水能访问子类的实例变量,因为父类根本无法知道它将被哪个子类继承,它的子类将会增加怎样的成员 ...

  6. java继承怎么老是出错_java中子类继承父类时总是出错怎么回?

    权限public > 包(package,默认,也就是什么权限修饰符都不加) > proteced > private 子类继承了父类的所有成员(这样说实际是不对的),但只能访问父类 ...

  7. java子类的子类_java中的子类是什么

    java中的子类是什么 发布时间:2020-06-26 15:57:41 来源:亿速云 阅读:152 作者:Leah java中的子类是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编 ...

  8. java 构造器 血药主题_java中的构造器

    构造器是什么 1.构造器,也称构造方法.构造函数.作用是构造出来一个类的实例,确保对象得到初始化. 2.构造器的格式: 权限修饰符 类名(无参/有参){}. 3.根据有无参数,可分为无参构造 和有参构 ...

  9. java修饰类的关键字_JAVA中的修饰关键字

    今天我们来说说JAVA中的修饰关键字. 常用的有: 1.final 关键字 修饰成员变量:a. 必须初始化值. b. 被fianl修饰的成员变量赋值,有两种方式:1.直接赋值 2.全部在构造方法中赋初 ...

  10. java中process方法用处_Java中ProcessBuilder应用实例

    系列说明 可以使用java中的ProcessBuilder执行本地命令或脚本等工作 以下是一个简单的使用java调用本地python脚本的例子 List commands=new ArrayList( ...

最新文章

  1. 习题3-3 数数字(Digit Counting , ACM/ICPC Danang 2007, UVa1225)
  2. WinCE中断结构分析
  3. linux服务器重启后阵列卡分区没了,服务器数据丢失了怎么恢复/分区丢失恢复教程...
  4. Qt QWidget实现手势缩放和平移(二)
  5. VTK:PolyData之CombineImportedActors
  6. html5 web storage攻击,HTML5安全风险详析之二:Web Storage攻击
  7. 主引导扇区(MBR)释疑
  8. 【元胞自动机】基于matlab保守策略元胞自动机三车道(开放辅路,软件园影响)交通流模型【含Matlab源码 1295期】
  9. 【洛谷P5019+P1969+P3078】道路铺设(暴力模拟/差分)
  10. Fresco 5.0以上内存持续增长问题优化
  11. Maple 教程 何青,科学出版社
  12. Python爬虫与数据可视化案例(共享源码)
  13. 男人也离不开维生素(转)
  14. php octet stream,为什么上传图片时,type 显示application/octet-stream 呢? 原
  15. Leetcode 665. Non-decreasing Array
  16. 通信使用matlab三元码实验报告,Matlab仿真DSBSC信号与双极性不归零码通信原理实验报告二实验...
  17. 用互联网思维去做事之-(2)用户思维
  18. 使用easypoi操作excel
  19. 百度BD09加密经纬度转国测局GCJ02经纬度
  20. App自动化测试 —— Appium的使用

热门文章

  1. 【a403】遍历树问题
  2. 阅读A Deeper Look at Machine Learning-Based Cryptanalysis
  3. 微信小程序—onLoad和onShow
  4. 十条优秀的网站设计经验
  5. Win11自带画图软件怎么显示标尺?
  6. python写的飞船游戏卡顿_关于pygame里让飞船连续移动的问题?
  7. 原型和Axure的作用
  8. 手机怎么将中文翻译为英文
  9. div标签,h标签,p标签,hr标签
  10. sax dom html解析xml,Python通过DOM和SAX方式解析XML的应用实例分享