`
liudaoru
  • 浏览: 1558033 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 中变量的初始化顺序

    博客分类:
  • java
阅读更多
public class T extends B {

	public T() {
		System.out.println(c);
	}

	public static void main(String[] args) {
		T.c = 'a';
		T t = new T();
	}

}

class B {

	static {
		c = 'b';
	}

	public static char c = 'c';

	public B() {
		System.out.println(c + "    1");
		c = 'd';
	}
	
	{
		c = 'e';
	}
	
}

 

基本的顺序是:

(静态初始化构造块 静态初始化定义) -> 类名.变量初始化 -> 普通初始化构造块 -> 构造函数

分享到:
评论

相关推荐

    java类变量初始化顺序

    详细讲解java类中静态变量,普通标量,对象、基本类型的初始化顺序。

    关于Java静态成员变量和静态初始化块等的初始化顺序的详细介绍

    详细介绍了Java的静态成员变量、静态数据块、非静态成员变量和非静态成员变量等初始化顺序

    Java变量初始化的时机

    以下是对java变量初始化的时机的分析。  【java变量执行初始化的步骤】  java是一门强类型语言,因此java语言规定每个变量必须先声明,然后才能使用,声明变量时必须指定该变量的数据类型。首先看下面这条语句的...

    Java中static静态变量的初始化完全解析

    static所声明的变量在Java中有一个初始化的先后顺序,带着这个问题接下来我们就来进行Java中static静态变量的初始化完全解析:

    java面试题-类的初始化顺序.doc

    java面试题-类的初始化顺序.doc 大家在去参加面试的时候,经常会遇到这样的考题:给你两个类的代码,它们之间是继承的关系,每个类里只有构造器方法和一些变量,构造器里可能还有一段代码对变量值进行了某种运算,...

    探究java的ClassLoader及类变量初始化顺序

    NULL 博文链接:https://crazybackkom.iteye.com/blog/968174

    java 静态非静态 字段方法 子类父类构造_初始化顺序!

    java 静态_非静态 字段_方法_代码块 子类父类构造_初始化顺序! 三个class 让你清清楚楚 第一个class java代码如下: package initialOrder; class Parent { // 静态变量 public static String p_StaticField...

    java类中元素初始化顺序详解

    对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始化块)>构造器

    浅谈Java变量的初始化顺序详解

    本篇文章是对Java变量的初始化顺序进行了详细的分析介绍,需要的朋友参考下

    Java变量类型常见面试题及答案

    本文提供了二十道常见的面试题,涵盖了Java中的基本数据类型、引用数据类型、作用域、初始化等方面的知识点。这些问题旨在考察候选人对Java变量类型的理解和应用能力。通过阅读本文,您将能够加深对Java变量类型的...

    Java类初始化顺序

    所有代码块是从上往下顺序执行的,所以代码块里面使用到的变量如果在块下面初始化会有问题 执行构造方法中内容。 所以看见的空构造方法,只能说第三部没有需要执行的内容。 下面举例子 public class TestClass { ...

    Java类中各成员初始化的顺序

    了解java中类各个成员的初始化顺序是非常重要的,这样你可以对类有全局的认识。不说太多,直接看下面的例子 class Father { static{ System. out.println("父类静态代码块初始化" ); } { System. out.println...

    java对象初始化顺序验证示例

    以下这段小程序对调用对象构造函数时,父类构造函数、成员变量初始化函数,以及非静态初始化块调用顺序进行验证,不考虑静态成员及静态初始化块

    JAVA面试题解惑系列

    我们大家都知道,对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始化块)>构造器。我们也可以通过下面的测试代码来验证这一点:

    Java开发者文档,分享日常学习的一些小知识点 .rar

     未创建此类对象)的静态对象时,所有的静态变量也要按它们在类中的顺序初始化。  2、继承时,对象的初始化过程  (1) 主类的超类由高到低按顺序初始化静态成员,无论静态成员是否为private。  (2) 主类静态...

    java顺序表的基本操作.docx

    在Java中,顺序表(Sequential List)是一种常见的线性数据结构,它以连续的...可以选择使用数组的静态初始化或动态初始化来创建顺序表。 可以定义一个变量来记录顺序表的大小,也可以直接使用数组的长度。 插入元素:

    【Java高频面试题】–类的初始化过程以及实例的初始化过程

    1.1 类的初始化过程 要创建一个类的实例,必须加载和初始化该类。 main()方法所在的类,会被优先加载并初始化 子类初始化前,会先加载并初始化它的父类 初始化一个类,其实质上就是执行了()方法 ()方法包含了,静态...

    JAVA基础知识精华总结 收藏

    未创建此类对象)的静态对象时,所有的静态变量也要按它们在类中的顺序初始化。 2、 继承时,对象的初始化过程 (1) 主类的超类由高到低按顺序初始化静态成员,无论静态成员是否为private。 (2) 主类静态成员的...

    Java中的静态变量、静态方法与静态代码块

    我们知道类的生命周期分为装载、连接、初始化...这种情况比较特殊,主要问题是由于静态变量是一个对象的引用,那么必须初始化这个对象之后才能将引用指向它。因此如果要把一个引用定义成static的,必须在定义的时候对其

    Java 基础核心总结 +经典算法大全.rar

    类的初始化 成员初始化 构造器初始化初始化顺序 数组初始化 对象的销毁 对象作用域 this 和 super 访问控制权限继承 多态组合代理 向上转型static final 接口和抽象类接口 抽象类异常 认 识 Exception 什么是 ...

Global site tag (gtag.js) - Google Analytics