package
test;
/**
*
要点:
* 一:父类与子类的静态代码块和构造方法的执行顺序
*
[父类的静态代码块-->子类的静态代码块-->父类构造方法-->子类构造方法]
* 二:静态代码块(static
block ),不包含在任何方法体中。当类被载入时,
* 自动执行静态代码块,且只被执行一次经常用于类属性的初始化。
*
*/
class Parent {
static{
System.out.println("parent static
block");
}
public Parent(){
System.out.println("Class Parent
conformation");
}
}
pubilc class Child
extends Parent {
static{
System.out.println("son static
block");
}
public Child(){
System.out.println("Class Son
conformation");
}
public Child(String str){
System.out.println("one parameter's conformation
of class child");
}
/**
*
@param args
*/
public static void main(String[] args)
{
// TODO Auto-generated
method stub
Parent parent =
new Child();
System.out.println("-----------------");
parent = new Child();
System.out.println("-----------------");
Parent parent1 = new
Child("");
}
}
运行结果:
parent static block
son static block
Class Parent conformation
Class Son conformation
-----------------
Class Parent conformation
Class Son conformation
-----------------
Class Parent conformation
one parameter's conformation of class
child
<!---->
分享到:
相关推荐
本文将深度剖析几个常见的Java面试题目,包括方法重写、静态代码块和构造方法的执行顺序。 首先,我们来讨论**方法重写(Override)**。在面向对象编程中,子类可以继承父类的属性和方法,有时需要根据自己的需求对...
java 静态_非静态 字段_方法_代码块 子类父类构造_初始化顺序! 三个class 让你清清楚楚 第一个class java代码如下: package initialOrder; class Parent { // 静态变量 public static String p_StaticField...
先静态代码块,然后构造代码块,再是构造方法,然后方法里面的代码块按顺序...子类继承父类的时候,先执行父类的静态代码块,然后子类的静态代码块,然后父类的构造代码块和构造方法,再是子类的构造代码块和构造方法
在探讨继承中子类与父类构造函数及静态块的执行顺序时,我们首先需要理解构造函数和静态块的基本概念及其在Java中的作用。构造函数主要用于初始化对象的状态,而静态块则是在类加载到内存中时执行的一段代码,通常...
在Java编程语言中,了解静态代码块和构造方法的执行顺序是至关重要的,尤其是在处理类的初始化和对象的创建时。下面将详细解释这些概念及其执行逻辑。 首先,静态代码块(也称为静态初始化器)是由`static`关键字...
- 如果父类中有静态代码块,那么在创建子类对象时,父类的静态代码块会先于子类的静态代码块执行。 - 在子类中,如果想要调用父类的构造函数或其他方法,可以使用`super()`关键字。 以上就是关于Java中静态代码块的...
在继承关系中,静态代码块的执行顺序是:父类静态代码块 -> 子类静态代码块 -> 父类非静态代码块 -> 父类构造方法 -> 子类非静态代码块 -> 子类构造方法。 静态代码块和静态方法的区别在于:静态代码块是自动执行的...
综上所述,程序执行顺序的基本原则是:首先初始化并执行父类的构造器、静态和实例初始化块,然后执行子类的构造器、实例初始化块。最后,当通过子类对象调用方法时,优先执行子类覆盖的方法。理解这一顺序对于编写可...
2. 创建实例时,先执行父类的静态代码块、普通代码块和构造器。 3. 接着执行子类的普通代码块和构造器。 理解这个执行顺序有助于我们在设计类和对象时避免潜在的问题,例如确保初始化逻辑正确执行。在实际开发中,...
父类的静态变量和静态代码块,按代码先后顺序执行 2. 子类的静态变量和静态代码块,按代码先后顺序执行 3. 父类的成员变量和普通代码块,按代码先后顺序执行 4. 父类的构造方法 5. 子类的成员变量和普通代码块...
2. 子类静态代码块 3. 父类实例代码块 4. 子类实例代码块 在上面的实例代码中,我们可以看到 `User` 类的加载顺序按照以下顺序执行: 1. 首先执行静态代码块 `static { ... }`,打印出 "调用userSay静态方法" 和 ...
在给定的例子中,无论父类还是子类,静态变量和静态初始化块都会按照它们在代码中的顺序依次执行。因此,我们看到"父类--静态变量"、"父类--静态初始化块"、"子类--静态变量"、"子类--静态初始化块"的输出。 2. **...
2. **静态代码块与静态变量的初始化**:在类加载时,静态代码块和静态变量会被初始化,它们的执行顺序取决于它们在代码中的出现顺序,而不是它们的定义顺序。这意味着,如果一个类中包含了多个静态代码块或静态变量...
4. 子类静态代码块 5. 父类非静态变量 6. 父类非静态代码块 7. 父类构造方法 8. 子类非静态变量 9. 子类非静态代码块 10. 子类构造方法 三、代码块总结 在了解代码块执行顺序之后,我们可以总结出一些重要的知识点...
1. **静态块的执行顺序**:首先,从父类到子类,按照定义的顺序依次执行静态块。这意味着父类的静态块先于子类的静态块执行。 2. **实例化时的执行顺序**: - 当创建子类对象时,首先执行父类无参构造器。如果父类...
本讲我们将深入探讨两个关键知识点:方法重写(Method Overriding)和静态代码块与构造方法的执行顺序。 首先,让我们来理解方法重写。在面向对象编程中,子类可以扩展父类的功能,这就是多态性的体现。方法重写...
在示例中,"========方法体======== "(父类的非静态代码块)和"========无名称方法体======== "(子类的非静态代码块)分别在它们对应的构造方法之前执行。 3. **构造方法**:之后,会调用构造方法来创建对象。...
在Java编程语言中,继承是面向对象特性的重要组成部分,它允许子类继承父类的属性和方法,从而实现代码的重用与扩展。标题“javase子类父类继承关系图解”指的是对这一概念的可视化展示,帮助初学者更好地理解Java中...
这个顺序对于理解类的初始化过程非常重要,特别是在处理复杂的继承结构时,可能包含多个父类和多个子类的构造器,以及静态和非静态初始化块。确保理解这个顺序可以帮助避免潜在的运行时错误,例如,依赖于未初始化的...
构造方法主要用于初始化类的新实例,而普通方法则是完成特定任务的代码块。 构造方法的关键特性包括: 1. **名称匹配**:构造方法必须与定义它的类的名称完全相同,不包括任何返回类型。 2. **无返回类型**:构造...