JAVA中初始化顺序复习
发布日期:2021-07-01 05:57:14
浏览次数:2
分类:技术文章
本文共 2286 字,大约阅读时间需要 7 分钟。
static final、static、final区别
static:静态,全局变量,类的对象共享一个静态变量,只初始化一次。
final:常量,如果是方法则不可覆盖,如果是类不可被继承,必须初始化时设置值,设置后就不能改了
static final:静态常量
初始化顺序如下:
父类静态变量(静态初始化话块)> 子类静态变量(静态初始化块)>父类普通变量(普通初始化块)>父类构造方法>父类普通方法
>子类普通变量(普通初始化块)>子类构造方法>子类普通方法
下面是一个例子就说明了这一切
package com.loulijun.test1;public class Test1 { public static void main(String args[]) { Son son = new Son(); son.say(); }}class Father { //static final 与 static 没有执行先后顺序,按照代码顺序从上而下执行 //静态变量 public static String str = initStr("Father:静态变量---1"); //静态常量 public static final int i = initfinal(2); //普通变量 public int j = init(4); static int initfinal(int i) { System.out.println("Father:静态常量---"+i); return i; } static int init(int j) { System.out.println("Father:普通变量---"+j); return j; } //静态初始化块 static { System.out.println("Father:静态初始化块---3"); } static String initStr(String str) { System.out.println(str); return str; } //初始化块 { System.out.println("Father:普通初始化块---5"); } //构造方法 public Father() { System.out.println("Father:父类构造器---6"); } public void say() { System.out.println("Father:普通方法---7"); } }class Son extends Father{ //static final 与 static 没有执行先后顺序,按照代码顺序从上而下执行 //静态变量 public static String str = initStr("Son:静态变量---1"); //静态常量 public static final int i = initfinal(2); //普通变量 public int j = init(4); static int initfinal(int i) { System.out.println("Son:静态常量---"+i); return i; } static int init(int i) { System.out.println("Son:普通变量---"+i); return i; } //静态初始化块 static { System.out.println("Son:静态初始化块---3"); } static String initStr(String str) { System.out.println(str); return str; } //初始化块 { System.out.println("Son:普通初始化块---5"); } //构造方法 public Son() { System.out.println("Son:子类构造器---6"); } public void say() { System.out.println("Son:普通方法---7"); }}
运行结果:
Father:静态变量---1
Father:静态常量---2 Father:静态初始化块---3 Son:静态变量---1 Son:静态常量---2 Son:静态初始化块---3 Father:普通变量---4 Father:普通初始化块---5 Father:父类构造器---6 Son:普通变量---4 Son:普通初始化块---5 Son:子类构造器---6 Son:普通方法---7转载地址:https://panda1234lee.blog.csdn.net/article/details/9138511 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
感谢大佬
[***.8.128.20]2024年04月19日 16时43分43秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
巧记单词8
2019-05-08
作文1
2019-05-08
viewState的应用
2019-05-08
操作系统
2019-05-08
操作系统04
2019-05-08
CCNA网络管理学习
2019-05-08
xml学习
2019-05-08
CCNA之EIGRP(IGRP)
2019-05-08
asp.net要掌握的基础知识
2019-05-08
软件工程的一些问题
2019-05-08
原子变量 java.util.concurrent.atomic jdk 1.7
2019-05-08
线程中断(转载)
2019-05-08
spring 整合 cxf
2019-05-08
VMware9的虚拟机电源无法打开
2019-05-08
java变量的初始化之后的默认值
2019-05-08
解决VMware虚拟机CentOS linux联网问题
2019-05-08
刚开始学linux常用到的命令
2019-05-08
linux下运行《UNIX环境高级编程》的第一个程序时源码编译出错的处理方法
2019-05-08
C语言编程时常犯的错误
2019-05-08