麻烦老师看看我这样写的是对的吗?
来源:2-14 编程练习
Heijyu
2020-05-19 18:53:52
package com.imooc.exercise2_14;
public class Code {
// 创建外部类Code静态代码块(静态代码块)
static {
System.out.println("产生Code类实例对象");
}
// 创建外部类Code构造块(构造块)
{
System.out.println("Code的静态代码块");
}
{
System.out.println("Code的构造块");
}
// 创建外部类Code构造方法(构造方法)
public Code() {
System.out.println("Code的构造方法");
}
}
package com.imooc.exercise2_14;
import com.imooc.exercise2_14.Code;
public class CodeBlock {
// 创建CodeBlock的静态代码块,只出现一次
static {
System.out.println("CodeBlock的静态代码块");
}
// 创建CodeBlock的构造块,创建对象时自动调用
{
System.out.println("CodeBlock的主方法");
}
// 创建CodeBlock的构造方法
public CodeBlock() {
}
// CodeBlock的普通代码块
public void produce() {
System.out.println("产生CodeBlock类实例对象");
}
public void print1() {
System.out.println("CodeBlock的构造块");
}
public void print2() {
System.out.println("CodeBlock的构造方法");
}
public static void main(String[] args) {
// 编写代码测试运行优先顺序,运行结果参见效果图
CodeBlock test = new CodeBlock();
Code test1 = new Code();
test.produce();
test.print1();
test.print2();
}
}2回答
同学你好,同学的最后的结果与题目一致,但是同学的代码有一些小问题,例如:
在CodeBlock中,CodeBlock的构造块中,直接书写对应的CodeBlock的构造块的内容。Code 中静态代码块中书写为对应的静态代码块的内容。
如下所示,修改后代码为:
class Code{
//创建外部类Code构造块(构造块)
public Code(){
System.out.println("Code的构造方法");
}
//创建外部类Code静态代码块(静态代码块)
static{
System.out.println("Code的静态代码块");
}
{
System.out.println("Code的构造块");
}
}public class CodeBlock{
// 创建CodeBlock的构造块
static {
System.out.println("CodeBlock的静态代码块");
}
{
System.out.println("CodeBlock的构造块");
}
public CodeBlock()
{
System.out.println("CodeBlock的构造方法");
}
public static void main(String[] args){
//编写代码测试运行优先顺序,运行结果参见效果图
System.out.println("CodeBlock的主方法");
System.out.println("产生Code类实例对象");
Code code=new Code();
System.out.println("产生CodeBlock类实例对象");
CodeBlock cb=new CodeBlock();
}
}如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
Heijyu
提问者
2020-05-19
这是运行出来的结果(左边是作业要求的显示顺序)
相似问题