当前位置: 首页 > news >正文

广州越秀建网站凡科互动答题辅助

广州越秀建网站,凡科互动答题辅助,赣州网站建设效果,网站开发与开发前言 类的初始化顺序 简单场景 代码示例 public class Person {private String name initName();private String initName() {System.out.println("【父类】初始化实例变量name");return "【父类】史蒂夫";}private int age;private static int staticVa…

前言

在这里插入图片描述

类的初始化顺序

  • 简单场景
    • 代码示例
    public class Person {private String name = initName();private String initName() {System.out.println("【父类】初始化实例变量name");return "【父类】史蒂夫";}private int age;private static int staticVar1 = initStaticVar1();private static int staticVar2;private static int initStaticVar1() {System.out.println("【父类】初始化静态变量staticVar1");return 100;}public Person() {System.out.println("【父类】我是无参构造方法");}public Person(String name, int age) {System.out.println("【父类】我是有参构造方法");this.name = name;this.age = age;}{System.out.println("【父类】我是实例代码块");}static {System.out.println("【父类】我是静态代码块");}}
    
    public class PersonTest {@Testpublic void testInitPerson() {Person person = new Person();System.out.println();Person person1 = new Person();System.out.println();Person person2= new Person("工藤新一",22);}}
    
    • 输出结果
    【父类】初始化静态变量staticVar1
    【父类】我是静态代码块
    【父类】初始化实例变量name
    【父类】我是实例代码块
    【父类】我是无参构造方法【父类】初始化实例变量name
    【父类】我是实例代码块
    【父类】我是无参构造方法【父类】初始化实例变量name
    【父类】我是实例代码块
    【父类】我是有参构造方法
    
  • 复杂场景(有继承)
    • 代码示例
    public class Man extends Person {private String name = initName();private String initName() {System.out.println("【子类】初始化实例变量name");return "【子类】工一";}private int age;private static int staticVar1 = initStaticVar1();private static int staticVar2;private static int initStaticVar1() {System.out.println("【子类】初始化静态变量staticVar1");return 100;}public Man() {System.out.println("【子类】我是无参构造方法");}public Man(String name, int age) {System.out.println("【子类】我是有参构造方法");this.name = name;this.age = age;}{System.out.println("【子类】我是实例代码块");}static {System.out.println("【子类】我是静态代码块");}}
    
    public class ManTest {@Testpublic void testInitMan() {Man man = new Man();System.out.println();Man man1 = new Man();System.out.println();Man man2 = new Man("工藤新一", 22);}}
    
    • 输出结果
    【父类】初始化静态变量staticVar1
    【父类】我是静态代码块
    【子类】初始化静态变量staticVar1
    【子类】我是静态代码块
    【父类】初始化实例变量name
    【父类】我是实例代码块
    【父类】我是无参构造方法
    【子类】初始化实例变量name
    【子类】我是实例代码块
    【子类】我是无参构造方法【父类】初始化实例变量name
    【父类】我是实例代码块
    【父类】我是无参构造方法
    【子类】初始化实例变量name
    【子类】我是实例代码块
    【子类】我是无参构造方法【父类】初始化实例变量name
    【父类】我是实例代码块
    【父类】我是无参构造方法
    【子类】初始化实例变量name
    【子类】我是实例代码块
    【子类】我是有参构造方法
    

结论

  • 简单场景
    静态变量>静态代码块>实例变量>实例代码块>构造方法

    其中静态代码块和静态变量只会执行一次(第一次new对象的时候会执行)
  • 有继承场景
    【父类】静态变量>【父类】静态代码块>【子类】静态变量>【子类】静态代码块>【父类】实例变量>【父类】实例代码块>【父类】构造方法>【父类】实例变量>【父类】实例代码块>【父类】构造方法

    其中【父类】静态变量 、【父类】静态代码块、【子类】静态变量 、【子类】静态代码块只会执行一次(第一次new对象的时候会执行)

术语

  • 静态变量
  • 成员变量
  • 静态代码块
  • 实例代码块
  • 构造方法

你问我答

1.Q:静态变量,成员变量,静态代码块、动态代码块、构造方法在代码中的位置顺序会影响执行结果么?

A:不会

源码地址

Java类的初始化顺序-源码

参考文章

  • Java类的初始化顺序
  • Java类的执行顺序
http://www.yayakq.cn/news/989362/

相关文章:

  • 可以找厂家的网站荣耀手机官网查询正品
  • 城阳做网站找哪家好网站做多少分辨率
  • 阳江房产网站怎样把网站做成app
  • 网站空间的管理网站seo置顶 乐云践新专家
  • 门源网站建设公司常见的网络推广方法有几种
  • 建设完网站成功后需要注意什么汕头公众号开发公司
  • 做网站上传电子书仿站小工具下载
  • 遵化建设局网站国内专业的seo机构
  • 扬州住房城乡建设局网站主要怎么学的呢
  • 珠海手机网站开发自学ui设计需要多久
  • php外贸网站源码东莞网站设计多少钱
  • 家庭宽带怎么做网站创意二维码制作网站
  • 优质网站建设在哪里百度app下载并安装最新版
  • pk10网站怎么做正能量网站下载
  • 企业网站建设模版wordpress外贸同步插件
  • 做阀门网站电话邯郸百度审核
  • 网站后期维护费用多少企业建设网站找网站公司吗
  • ui设计培训机构哪家好信阳网站seo
  • 手机移动网站设计室内装修设计网
  • 珠海网站运营官网网站页面设计
  • 网站建设kaituozu厦门建网站多少钱
  • wordpress制作列表页网站做seo收录
  • 5000元做网站值么国内产品设计公司排名
  • 淮上网站建设全国工程建设信息服务平台
  • 门户网站建设技术方案南宁室内设计学校
  • 河南教育平台网站建设10个暴利小生意创业
  • 怎么做企业网站排名首航原创网
  • 泉州网站制作建设sql2005做网站
  • 网站建设如何给网址设置链接python flask做网站
  • 昆明网站制作内容免费下载app软件官网