最近去参加了SCJP培训,相信对于绝大多数的JAVA工作者来说,SCJP所培训的知识应该是很基础的了。不过正所谓温故而知新嘛,其实通过这样的一次培训,还是能了解到不少新知识的。就像下面这个最简单的例子,你能不做试验,直接写出结果吗?
Display.java 用于显示的类,没什么好看的
public class Display {
public Display(String str) {
System.out.println(str);
}
}
Super.java 父类
public class Super {
public static Display dis1 = new Display("父类静态区");
public Display dis2 = new Display("父类变量声明");
public Super() {
Display dis4 = new Display("父类构造方法");
}
{
Display dis3 = new Display("父类游离块");
}
}
Sub.java 子类
public class Sub extends Super {
public static Display dis5 = new Display("子类静态区");
public Display dis6 = new Display("子类变量声明");
public Sub() {
Display dis8 = new Display("子类构造方法");
}
{
Display dis7 = new Display("子类游离块");
}
public static void main(String[] args) {
Sub sub = new Sub();
}
}
在试验代码之前,还真不知道这游离块是什么时候调用和做什么用的。
分享到:
相关推荐
在Java编程语言中,对象初始化是一个关键的概念,它涉及到类加载、对象实例化以及成员变量的赋值。本文将深入探讨Java中对象初始化的顺序,帮助开发者理解这一过程的细节。 首先,Java类的加载过程分为三个阶段:...
**1.3 Classpath中的类装载顺序** 类装载器按照Classpath中条目的顺序来装载类。一旦找到第一个匹配的类,其余的条目将被忽略。这可能导致“隐藏”问题,其中较低优先级目录中的类被较高优先级目录中的同名类遮盖。...
为了确保装载机拆除和运输工作的顺利进行,成立了专门的领导组,并明确了各成员的职责: - **组长**:张玉祥、杨群,负责总体指挥; - **副组长**:张海红、李文华,负责现场总指挥及安全生产工作; - **安监站**:...
- 装载:ClassLoader通过类名找到`.class`文件,并在内存中创建Class对象。 - 链接:包括验证、准备和解析阶段,分配内存,设置初始值,转换符号引用。 - 初始化:执行类的静态初始化代码。 5. **Java类加载器**...
- 装载:加载类文件到内存。 - 链接:解析类信息,包括分配内存、设置默认值和符号引用转换。 - 初始化:执行静态初始化代码块和构造器。 6. **Java类加载器**: - BootstrapClassLoader:加载核心库。 - ...
Java 中的 static 关键字 ...在 Java 中,类装载器把一个类装入 Java 虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分成校验、准备和解析三步,除了解析外,其它步骤是严格按照顺序完成的。
首先,我们来看类的装载顺序。Java虚拟机(JVM)在运行时会使用类加载器来动态加载类。当类第一次被引用时(例如,创建类的实例,访问其静态字段或方法,或者通过子类引用父类),JVM就会开始装载这个类。装载过程中...
3. 初始化阶段:初始化静态变量和静态代码块,这是类加载的最后一步,确保类的静态成员按预期进行初始化。 类加载器的层级关系如下: - Bootstrap类加载器:加载JDK核心类库,例如rt.jar,它没有父类加载器。 - ...
7. C++中的模板:模板是C++中的一个重要概念,类模板和模板类所指的是同一概念,模板的实参可以省略,但类模板中的成员函数不都是模板函数。 8. C++中的STL容器:STL中的一级容器包括vector、deque、list、set、...
SAX 是一种事件驱动型的 XML 解析方式,它顺序读取 XML 文件,不需要一次全部装载整个文件。STAX 是一种 Streaming API for XML,它可以实时地解析 XML 文件。 final 修饰符 final 是 Java 中的一个关键字,用于...
例如,它可以模拟不同的装载顺序,评估其对空间利用效率的影响;提供多种装载策略供用户选择,以应对不同的装载场景;支持生成装载报告,便于后期进行数据分析和存档。这些高级特性进一步提升了装箱大师在实际应用中...
invokeMethod.java 同一个类中调用方法示例 invokeOther.java 类的外部调用方法示例 invokeStaticMethod.java 调用静态方法示例 localVariable.java 演示局部变量 localVSmember.java 局部变量与成员变量同名...
外部类名$由1开始的正整数`,这个数字是按照类装载顺序依次排列的。例如,`com.test.InnerClassTest$1`、`com.test.InnerClassTest$2`、`com.test.InnerClassTest$3`、`com.test.InnerClassTest$4` 和 `...
- 内部类是定义在另一个类中的类,它可以访问外部类的所有成员,包括私有成员。 - 主要有两种类型的内部类:静态内部类(Static Nested Class)和非静态内部类(Inner Class)。 - 示例: ```java public class...
- **错误**:成员变量`d1`是外部类`OuterClass`的私有成员,无法在非静态内部类中直接访问外部类的非静态成员。 B. `public class InnerOne{ static double methoda(){return d1;}}` - **错误**:同样原因,`d1`是...
知道其行为的其它类可以在类中实现这些方法。 接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以...
只需输入货物信息,软件便会自动生成装柜布局,并提供详细的装载指南,包括每件货物的位置、方向以及顺序,大大降低了操作难度,提高了工作效率。 三、数据管理与报告 在装柜过程中,LoadExpert可以记录每批货物的...
在访问控制修饰符中,protected(A)使得成员变量可以被自身和子类访问,public(B)使得所有类都能访问,private(C)只允许在本类中访问,不加修饰符(D)则表示包内可见。 File类是Java中用于文件和目录操作的类...