final作用 1.修饰类:表示类不能被继承 2. 修饰方法:表示方法不可被子类覆盖,但是可以重载 3.修饰变量:表示变量一旦被赋值就不可以更改它的值。 (1) 修饰成员变量 1.如果final修饰的是类变量,只能在静态初始化块中指定初始值或者声明该类变量时指定初始值。 2.如果final修饰的是成 ...
分类:
其他好文 时间:
2021-05-24 00:08:15
阅读次数:
0
LeafTest.java package com.atguigu.java3; //总结:由父及子,静态先行 class Root{ static{ System.out.println("Root的静态初始化块"); } { System.out.println("Root的普通初始化块"); ...
分类:
其他好文 时间:
2021-02-10 13:16:03
阅读次数:
0
1、final修饰属性 final修改的类属性、实例属性能指定初始值的地方如下: ①类属性:静态初始化块中、声明属性时指定初始值; ②实例属性:非静态初始化块、声明该属性、构造器中指定初始值。 与普通成员变量不同的是,final成员变量(包括实例属性和类属性)必须由程序员显式初始化,系统不会对fin ...
分类:
其他好文 时间:
2020-06-14 20:48:27
阅读次数:
69
在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块。如果使用 static 修饰初始化块,就称为静态初始化块。 需要特别注意:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。 package com.komiles ...
分类:
编程语言 时间:
2020-06-14 18:32:00
阅读次数:
66
Java语言提供了很多类初始化的方法,包括构造器、初始化器等。除了这两种方法之外,我们还可以用 初始化块(initialization block) 来实现初始化功能。 基本语法 初始化块是出现在类声明中的语句块,它位于所有成员、函数、构造器之外。例如使用静态初始化块,我们的HelloWorld可以 ...
分类:
编程语言 时间:
2020-02-02 19:16:58
阅读次数:
71
1. 问题: 请运行TestStaticInitializeBlock.java示例,观察输出结果,总结出“静态初始化块的执行顺序”。 class Root { static{ System.out.println("Root的静态初始化块"); } { System.out.println("Ro ...
分类:
其他好文 时间:
2020-01-05 13:42:14
阅读次数:
58
1 public class ConstructorTest { 2 3 /** 4 * 重载构造器 5 * 用this(...)调用另一个构造器 6 * 无参数构造器 7 * 对象初始化块 8 * 静态初始化块 9 * 实例域初始化 10 */ 11 12 public static void m ...
分类:
其他好文 时间:
2019-12-27 23:22:18
阅读次数:
80
对象属性初始化有3种1. 声明该属性的时候初始化2. 构造方法中初始化3. 初始化块 类属性初始化有2种1. 声明该属性的时候初始化2. 静态初始化块 对象属性的初始化有三种方式的优先级 当对一个对象实例化时,首先会加载实例变量,然后再执行初始化代码块,最后执行构造方法。 对象的初始化顺序:(1)类 ...
分类:
编程语言 时间:
2019-12-21 21:05:11
阅读次数:
105
1、请运行TestStaticInitializeBlock.java示例,观察输出结果,总结出“静态初始化块的执行顺序”。静态初始化块先执行,并按照类的先后,由父类依次执行下来 运行结果:Root的静态初始化块Mid的静态初始化块Leaf的静态初始化块Root的普通初始化块Root的无参数的构造器 ...
分类:
编程语言 时间:
2019-10-28 14:31:28
阅读次数:
69
源代码: class Root{ static{ System.out.println("Root的静态初始化块"); } { System.out.println("Root的普通初始化块"); } public Root() { System.out.println("Root的无参数的构造器" ...
分类:
其他好文 时间:
2019-10-17 17:21:45
阅读次数:
111