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

JAVA规范学习——static成员初始化

阅读更多

输出:1729

知识要点:

A reference to a class field causes initialization of only the class or interface
that actually declares it, even though it might be referred to through the name of a
subclass, a subinterface, or a class that implements an interface.

也就是说只有使用该类或者接口直接定义的类变量,才会激发该类的初始化;如果使用的是其父类定义的类变量,则子类不会被初始化

输出:

1
j=3
jj=4
3

知识要点:

Initialization of an interface does not, of itself, cause initialization of any of its
superinterfaces.

The reference to J.i is to a field that is a compile-time constant; therefore, it
does not cause I to be initialized. The reference to K.j is a reference to a field
actually declared in interface J that is not a compile-time constant; this causes initialization
of the fields of interface J, but not those of its superinterface I, nor
those of interface K. Despite the fact that the name K is used to refer to field j of
interface J, interface K is not initialized.

分享到:
评论

相关推荐

    JAVA面试题解惑系列(一)——类的初始化顺序-JAVA程序员JAVA工程师面试必看.pdf,这是一份不错的文件

    JAVA面试题解惑系列(一)——类的初始化顺序 JAVA 是一门面向对象的编程语言,类的初始化顺序是 JAVA 程序员和 JAVA 工程师面试中一个非常重要的知识点。本文将详细讲解类的初始化顺序,并提供了相关的测试代码,...

    深入java虚拟机(三)——类的生命周期(下)类的初始化1

    【深入Java虚拟机(三)——类的生命周期(下)类的初始化1】 类的生命周期在Java中是一个关键的概念,它涵盖了从加载到卸载的整个过程。在类的生命周期中,初始化阶段是非常重要的,因为它涉及到类的静态变量的赋值...

    马士兵面向对象this——static

    3. 静态块:静态初始化块用于在类加载时初始化静态变量,仅执行一次。 ```java class MyClass { static int x; static { x = 10; // 类加载时执行,初始化x } } ``` 4. 静态内部类:静态内部类不需要外部类...

    Java版五子棋——基础

    综上所述,“Java版五子棋——基础”项目不仅是一个很好的Java核心编程学习案例,也为初学者提供了实践Swing GUI开发的机会。通过对该项目的学习和理解,可以帮助开发者更好地掌握面向对象编程思想以及图形用户界面...

    SpringBoot项目启动时实现调用一次初始化方法.docx

    `@PostConstruct`是Java EE规范的一部分,它用于标记一个方法,这个方法将在对象被Spring容器初始化完成后、所有依赖注入完成并且在该对象的`init()`方法之前调用。使用`@PostConstruct`注解的方法只会被调用一次,...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    创建对象包括声明、实例化和初始化三方面的内容。通常的格式为 : 1. 声明对象 对象声明实际上是给对象命名,也称定义一个实例变量。对象声明的一般格式为: type name 其中,type 是一个类的类名,用它声明的对象将...

    Java面试题——重整理版

    Servlet生命周期包括加载、初始化、服务、销毁四个阶段。 6. **JDBC**:Java数据库连接,提供统一的API与各种数据库交互,包括建立连接、发送SQL语句、处理结果集等。 7. **JDO**:Java数据对象,为Java应用提供了...

    Java——对象初始化顺序使用详解

    这是因为静态成员的初始化顺序是按照类的加载顺序进行的,即先加载父类,再加载子类。因此,父类的静态代码块在子类的静态字段初始化之前执行。 三、构造代码块与构造函数的执行顺序 构造代码块是类中的一个特殊的...

    java static关键字详解(csdn)————程序.pdf

    Java中的`static`关键字是一个非常重要的关键字,它用于声明类级别的成员,包括变量、方法和代码块。`static`关键字的使用有以下四个主要方面: 1. **类属性/类变量**: 类属性(也称为静态变量)是属于类本身的,...

    Java入门——Java修饰词总结

    `static`初始化块在类加载时执行,而不是在创建实例时。 4. **final**: - 使用对象:类、方法、字段、变量 - 介绍:`final`修饰符用于声明不可变的对象。当应用于类时,意味着该类不能被继承。应用于方法时,...

    JAVA面试题解惑系列by(zangweiren)

    ### JAVA面试题解惑系列——类的初始化顺序 #### 一、基础知识回顾 在Java编程中,类的初始化顺序是一个非常重要的概念,特别是在面试时,它经常被用来考察面试者对于Java类加载机制的理解程度。类的初始化顺序...

    java基础——数组及其应用(csdn)————程序.pdf

    数组的初始化分为静态初始化和动态初始化。静态初始化直接在声明时赋值,如`int[] a = {1, 2, 3};`。动态初始化是在创建后逐个赋值,如`int[] a = new int[2]; a[0] = 1; a[1] = 2;`。 数组的特点包括: 1. 长度...

    JAVA面试题解惑系列.doc

    《JAVA面试题解惑系列——类的初始化顺序》 在Java编程中,理解类的初始化顺序是面试中常见的考察点,因为它直接关系到程序的执行逻辑。本文将深入探讨类的初始化过程,以及在继承场景下如何理解这个过程。 首先,...

    Java面试题解惑系列

    ### Java面试题解惑系列——类的初始化顺序 在Java面试过程中,经常会出现关于类的初始化顺序的问题。这类问题通常涉及静态与非静态成员变量、静态初始化块、非静态初始化块以及构造函数的执行顺序。下面我们将深入...

    java程序设计——基于JDK6和NetBeans实现第4章课后作业答案.pdf

    `Car`类的`main`方法创建了一个`Engine`实例,并在`go()`方法中初始化。这样,当`Engine`实例被创建时,其构造器会调用`drive()`,输出"hi"。 4. 抽象类与继承: 抽象类`Student`包含了一些基本的学生信息,如姓名...

    JAVA面试题解惑系列.pdf

    ### Java面试题解惑系列——类的初始化顺序详解 #### 背景介绍 在Java面试过程中,关于类的初始化顺序的问题是常见的考察点之一。此类问题通常涉及到类的加载机制、静态变量与实例变量的区别、初始化块的作用及执行...

    java——知识点归纳总结

    - **变量声明与初始化**:Java中的变量必须先声明后使用,成员变量可以自动初始化为默认值,如复合数据类型初始化为`null`,而局部变量必须显式初始化。 - **复合数据类型**:对象引用变量存储的是对象的引用,而非...

    java新手超级入门——类结构篇.docx

    构造函数是一种特殊的方法,用于初始化对象的状态。构造函数的名称与类名相同,没有返回类型。构造函数可以分为有参构造函数和无参构造函数。 1. **无参构造函数**: ```java public class HelloWorld { String ...

    长方形求周长面积————Java入门基础

    我们还提供了构造函数来初始化长方形的长度和宽度,并定义了两个方法`getPerimeter()`和`getArea()`,分别用于计算长方形的周长和面积。 接下来,我们需要创建`MyRectangle`类的对象,并调用这些方法来求解实际问题...

Global site tag (gtag.js) - Google Analytics