`
snrqtdhuqf
  • 浏览: 77830 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java静态方法、构造方法运行结果实例

    博客分类:
  • Java
阅读更多

进行了java开发有一段时间了,遇到一个有趣的问题,在此特意记录一下运行程序。

例1:

package com.yunix;

public class Test {
	
	public Test() {
		System.out.print("3");
	}
	static {
		System.out.print("1");
	}
	{
		System.out.print("2");
	}
	
	public static void main(String[] args) {
		for(int i=0;i<10;i++){
			new Test();
			System.out.println();
		}
	}
}

 运行结果为:

123
23
23
23
23
23
23
23
23
23

 例2:

package com.yunix;

public class Test {
	
	public Test() {
		System.err.print("3");
	}
	static {
		System.out.print("1");
	}
	{
		System.out.print("2");
	}
	
	public static void main(String[] args) {
		for(int i=0;i<10;i++){
			new Test();
			System.out.println();
		}
	}
}

 运行结果为(此结果不唯一,但是1一直在2的前面,3的位置不确定):

12
2
2
2
2
2
2
2
2
2
3333333333

 

分享到:
评论
2 楼 西铁城 2013-04-18  
例2可否给出详解?
1 楼 西铁城 2013-04-18  
这个在Thinking in java 中有专门的讲解。可以看看。

相关推荐

    java面试题静态加载顺序构造方法

    java面试题静态加载顺序构造方法 继承与static 面试题目如下:请写出程序执行完成之后的结果。 package extend; public class X { Y y=new Y(); static{ System.out.println("tttt"); } X(){ System....

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

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

    JAVA静态成员和实例成员的加载时机

    JAVA静态成员和实例成员的加载时机,先有对象还是先load类的静态成员,先有实例还是先调用构造方法等

    java的静态域实例域

    了解java 静态域和实体域与构造方法的运行先后。

    java静态工厂方法详细解析——使用静态工厂方法代替构造器

    对于类而言,在我们需要获取一个实例时,最传统的方法都是通过new新建一个对象,这是jvm通过调用构造函数帮我们实例化出来的对象。而静态工厂方法则是另外一种不通过new来获取一个实例的方法,我们可以通过一个类中...

    java 基础 类对象创建实例化过程 实例解析

    * (如果是重写即子类将父类的实例方法重写类,则调用子类的,如果是隐藏即方法则父类中声明为静态方法,则调用父类本身的但具体方法中的成员是否被子类修改需要进行分析) —&gt; * 下一层次的父类中重复前一个过程

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

    /*大体上顺序是这样的:(也可以说是优先级,同一级的按顺序执行) ... System.out.println("类Test构造方法被执行 6"); } { System.out.println("类Test实例代码块被执行 4"); //实例代码块 } p

    java范例开发大全

    实例174 使用构造方法的重载计算课程的GPA值 287 第10章 内部类与接口(教学视频:41分钟) 290 10.1 成员内部类 290 实例175 成员内部类的使用规范 290 实例176 猜谜 292 10.2 方法内部类 294 实例177 局部内部类的...

    Ext实现java的面向对象实例

    Ext的面向对象实例: 1.命名空间 2.类实例属性 3.类实例方法 4.类静态方法 5.构造方法 6.类继承 7.类实例方法重写 8.命名空间别名 9.类别名 10.事件队列

    由浅入深详解Java 类的实例化顺序

    在子类对象被实例化的过程中,变量、构造方法以及代码块三者的先后顺序为: 1. 父类的静态变量和静态代码块,按代码先后顺序执行 2. 子类的静态变量和静态代码块,按代码先后顺序执行 3. 父类的成员变量和普通...

    Java经典编程源码基础例程300.zip

    实例049 构造方法的应用 72 实例050 统计图书的销售量 73 实例051 两只完全相同的宠物 74 实例052 重新计算对象的哈希码 76 实例053 使用字符串输出对象 77 实例054 Java对象的假克隆 78 实例055 Java对象的浅克隆 ...

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

    differ.java 测试静态方法与实例方法之间的区别 forefather.java 一个简单的基类 grandson.java 上面这个类的子类 hasConstructor.java 拥有构造器的类 hasFinalFun.java 拥有最终方法的类 hasRecall.java ...

    JAVA基础-第4章继承与多态-练习题-200910.doc

    这道题考察了静态方法和实例方法的知识,this关键字的使用和方法调用顺序。 本资源涵盖了JAVA基础的多个知识点,包括继承、多态、构造方法、方法覆盖和final类等。通过本资源,程序员可以加深对JAVA语言的掌握,...

    Java岗面试核心MCA版.pdf

    2. 静态方法和实例方法的区别:静态方法是类的方法,而实例方法是对象的方法。 内部类 1. 内部类的分类:静态内部类、成员内部类、局部内部类、匿名内部类。 2. 内部类的优点:内部类可以访问外部类的私有成员...

    10个Java经典的Main方法面试题!

    main 方法是 Java 程序的入口方法,JVM 在运行的时候会首先查找 main 方法。 2.不用 main 方法如何运行一个类? 不行,没有 main 方法我们不能运行 Java 类。 在 Java 7 之前,你可以通过使用静态初始化运行 Java 类...

    Java范例开发大全(全书源程序)

    实例174 使用构造方法的重载计算课程的GPA值 287 第10章 内部类与接口(教学视频:41分钟) 290 10.1 成员内部类 290 实例175 成员内部类的使用规范 290 实例176 猜谜 292 10.2 方法内部类 294 实例177 局部...

    2023年java面试题(含答案).docx

    这是因为 main 方法是静态方法,而在 Java 中静态方法在编译时会结合在一起,所以你在 Java 中不能覆盖静态方法。 9. 我们能否在 Java 中终结 main 方法? 你可以在 Java 中终结 main 方法。JVM 对此没问题。 ...

    java范例开发大全源代码

     实例174 使用构造方法的重载计算课程的GPA值 287  第10章 内部类与接口(教学视频:41分钟) 290  10.1 成员内部类 290  实例175 成员内部类的使用规范 290  实例176 猜谜 292  10.2 方法内部类 ...

    Java范例开发大全 (源程序)

     实例174 使用构造方法的重载计算课程的GPA值 287  第10章 内部类与接口(教学视频:41分钟) 290  10.1 成员内部类 290  实例175 成员内部类的使用规范 290  实例176 猜谜 292  10.2 方法内部类 294  ...

    java编程基础,应用与实例

    1.5 运行第一个Java程序 7 1.6 巩固练习 8 第2章 理解对象与类 9 2.1 什么是对象 9 2.2 什么是类 9 2.3 HelloJava示例的分析 11 2.4 巩固练习 12 第3章 Java语言的基本语法 13 3.1 代码编写规则...

Global site tag (gtag.js) - Google Analytics