暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

实例语句块

哈特费尔德的思考 2021-09-01
211

1.语法格式

{
    java语句;
    java语句;
    java语句;
}


2.实例语句块执行时机

实例语句在类加载时并没有执行

只要是构造方法执行,必然在构造方法执行之前,自动执行“实例语句块”中的代码。
实际上这也是SUN公司为java程序员准备一个特殊的时机,叫做对象构建时机。
/*
1、除了静态代码块之外,还有一种语句块叫做:实例语句块
2、实例语句在类加载时并没有执行。
3、实例语句语法?
{
java语句;
java语句;
java语句;
}
4、实例语句块在什么时候执行?
只要是构造方法执行,必然在构造方法执行之前,自动执行“实例语句块”中的代码。
实际上这也是SUN公司为java程序员准备一个特殊的时机,叫做对象构建时机。
*/
public class InstanceCode{


//入口
public static void main(String[] args){
System.out.println("main begin");
new InstanceCode();
new InstanceCode();


new InstanceCode("abc");
new InstanceCode("xyz");
}




//实例语句块
{
System.out.println("实例语句块执行!");
}


// Constructor
public InstanceCode(){
System.out.println("无参数构造方法");
}


// Constructor
public InstanceCode(String name){
System.out.println("有参数的构造方法");
}


}

//判断以下程序的执行顺序
public class CodeOrder{

// 静态代码块
static{
System.out.println("A");
}


// 入口
// A X Y C B Z
public static void main(String[] args){
System.out.println("Y");
new CodeOrder();
System.out.println("Z");
}


// 构造方法
public CodeOrder(){
System.out.println("B");
}


// 实例语句块
{
System.out.println("C");
}


// 静态代码块
static {
System.out.println("X");
}


}


文章转载自哈特费尔德的思考,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论