为什么输出的顺序先是CodeBlock的静态代码块而不是CodeBlock的主方法
class Code{
//创建外部类Code构造块(构造块)
{
System.out.println("Code的构造块");
}
//创建外部类Code静态代码块(静态代码块)
static{
System.out.println("Code的静态代码块");
}
//创建外部类Code构造方法(构造方法)
public Code(){
System.out.println("Code的构造方法");
}
}
public class CodeBlock{
// 创建CodeBlock的构造块
{
System.out.println("CodeBlock的构造块");
}
//创建CodeBlock的静态代码块
static{
System.out.println("CodeBlock的静态代码块");
}
//创建CodeBlock的构造方法
public CodeBlock(){
System.out.println("CodeBlock的构造方法");
}
public static void main(String[] args){
//编写代码测试运行优先顺序,运行结果参见效果图
System.out.println("CodeBlock的主方法");
System.out.println("产生Code类实例对象");
Code c=new Code();
System.out.println("产生CodeBlock类实例对象");
CodeBlock cb=new CodeBlock();
}
}
正在回答
你 public static void main 方法是在 CodeBlock 类里定义的 所以先有 CodeBlock 类
Code类 只不过是 public static void main 方法 去调用的一个类 在我调用的时候加载就好了
没必要也在之前先创建
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星