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

java 继承类 变量、静态变量、构造函数执行顺序(转)

    博客分类:
  • java
阅读更多
java 继承类 变量、静态变量、构造函数执行顺序
class C{
	static int prt(int i){
	  System.out.println(i);
	  return i;
	}
}
class A{
	int a=C.prt(0);
	static int b=C.prt(1);
	A(){
	  System.out.println("constructor of A");
	}
}
class B extends A{
	int c=C.prt(2);
	static int d=C.prt(3);
	B(){
		System.out.println("constructor of B");
	}
	public void test(){
		System.out.println("begin...");
	}
}
public class OrderTest{
	public static void main(String[] args){
		B b=new B();
		b.test();
	}
}

执行结果:

1
3
0
constructor of A
2
constructor of B
begin...


可以看出包含普通变量、静态变量、构造函数、继承类的执行顺序为:


1、父类的静态变量;

2、子类的静态变量;

3、父类的普通变量、父类的构造函数;

4、子类的普通变量、子类的构造函数;

5、普通方法。
分享到:
评论

相关推荐

    构造函数与静态块的执行顺序

    描述继承中子类与父类构造函数,静态块的执行顺序

    Java:静态代码块和构造函数执行顺序

     1 静态变量,静态代码块(类加载时执行,类不加载不执行)  2 实例变量,实例代码块(创建对象时才执行,不创建对象不执行)  3 构造函数,(创建对象时执行完2后再执行构造函数,不管构造函数是public还是private...

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

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

    构建一个类Point,它提供两个公有的构造函数,一个没有参数的Point构造函数和一个有两个double参数的构造函数。

    构建一个类Point,它提供两个公有的构造函数,一个没有参数的Point构造函数和一个有两个double参数的构造函数。另外在该类中提供一个静态方法计算两个点的直线距离,传入参数为两个Point类实例。然后设计一个测试类...

    浅析C#静态类,静态构造函数,静态变量

    主要介绍了浅析C#静态类,静态构造函数,静态变量 的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下

    Java面向对象程序设计:类的定义,静态变量,成员变量,构造函数,封装与私有,this概念与用法详解

    主要介绍了Java面向对象类的定义,静态变量,成员变量,构造函数,封装与私有,this概念与用法,较为详细的分析了Java类的定义,静态变量,成员变量,构造函数,封装,私有等相关原理、用法及操作注意事项,需要的朋友...

    C#静态构造函数用法实例分析

    这个静态构造函数属于类,而不属于实例,就是说这个构造函数只会被执行一次,即:在创建第一个实例或引用任何静态成员之前,由.NET自动调用。 现在碰到这样一个场景:提供一个静态方法,这个静态方法在不同的地方...

    C# 静态构造函数使用

    这个静态构造函数属于类,而不属于实例,是说这个构造函数只会被执行一次,即:在创建第一个实例或引用任何静态成员之前,由.NET自动调用。  现在碰到这样一个场景:提供一个静态方法,这个静态方法在不同的地方...

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

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

    C++类成员构造函数和析构函数顺序示例详细讲解

    (1)如果某个类具体基类,执行基类的默认构造函数。 (2)类的非静态数据成员,按照声明的顺序创建。 (3)执行该类的构造函数。 即构造类时,会先构造其父类,然后创建类成员,最后调用本身的构造函数。 下面看一个例子...

    学习C#静态函数及变量的一个精典例子与代码

     (3)类的静态构造函数在给定应用程序域中至多执行一次:只有创建类的实例或者引用类的任何静态成员才激发静态构造函数 (4)静态构造函数是不可继承的,而且不能被直接调用。 (5)如果类中包含用来开始执行的...

    Java开发技术大全(500个源代码).

    showStaicVar.java 演示静态变量的使用 staticBlock.java 演示静态块的使用 staticVar.java 定义静态变量 supplyTest.java 对象作为静态成员使用示例 trySwap.java 试图交换两个形参的值 useOnlyTest.java ...

    实验二 数组与类的声明

    3、创建类的对象,使用对象的方法(类的非静态方法)来访问或修改对象的变量(类的非静态变量)。 创建类EXP2_2的对象,在调用类的构造函数时指定对象的变量的初始值,以后再使用对象的方法来访问或修改对象的变量的...

    PHP静态成员变量和非静态成员变量详解

    数据成员可以分静态变量、非静态变量两种. 静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名...一个类中也可以包含静态成员和非静态成员,类中也包括静态构造函数和非静态构造函数

    C#静态变量与实例变量实例分析

    静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象...

    C#中static静态变量的用法实例

    使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员static修饰符可用于类、字段、方法、属性、运算符、事件和构造函数,但不能用于索引器、析构函数或类以外的类型   静态全局变量 定义:在全局变量...

    C#中静态构造函数的几点说明介绍

    这个构造函数是属于类的,而不是属于哪里实例的,就是说这个构造函数只会被执行一次。也就是在创建第一个实例或引用任何静态成员之前,由.NET自动调用。 代码如下:class SimpleClass{// Static constructorstatic ...

    《java面向对象程序设计-继承和多态》教案.doc

    圆点符号用于访问对象的成员,构造函数在创建对象时初始化对象 包可用package 来申明 ,可用import 来导入包 目标 理解继承及其特点 运用JAVA程序实现继承 理解多态及其特点设计 运用JAVA程序实现多态 掌握访问修饰...

    关于C++中构造函数初始化成员列表的总结

    1.只能在构造函数初始化列表初始化的成员变量的类型?  a.const成员变量  b.引用类型的成员变量  c.static不能在初始化列表中进行初始化  d.类成员变量中有自定义类型的变量最好在初始化列表中进行初始化 2.初始...

Global site tag (gtag.js) - Google Analytics