指出下面程序的运行结果

本文详细解析了Java程序中创建对象时的执行顺序:首先初始化父类和子类的静态成员,然后是父类的非静态成员,接着执行父类构造方法,再是子类的非静态成员,最后执行子类构造方法。同时提到,static语句块在类加载时初始化,而初始化块则在创建对象时且在构造方法前执行。
摘要由CSDN通过智能技术生成

class A {
	static {
		System.out.print("父类静态成员  ");
	}
	//初始化块,也即是非static语句块
	{
		System.out.print("父类非静态成员  ");
	}

	public A() {
		System.out.print("父类构造方法  ");
	}
}

class B extends A {
	static {
		System.out.print("子类静态成员  ");
	}
	{
		System.out.print("子类非静态成员  ");
	}

	public B() {
		System.out.print("子类构造方法  ");
	}
}

public class Test {

	public static void main(String[] args) {
		A ab = new B();
		System.out.println("\n---------------------------------");
		ab = new B();
	}
}

运行结果

结果说明

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在这个计算机系统中,运行着两个程序,它们的运行情况如下: - 程序1:计算50ms、输出100ms、计算50ms、输出100ms、结束。 - 程序2:计算50ms、输出100ms、计算100ms、结束。 假设在系统运行过程中,CPU没有空闲时间,下面是对两个程序运行时CPU是否空闲、在哪一部分空闲以及程序1和程序2是否等待CPU的分析: 1. 程序1开始执行时,CPU处于忙碌状态,程序1的第一次计算操作占用了CPU资源。 2. 程序1的第一次计算操作完成后,程序1进入输出状态,此时CPU处于空闲状态,因为输出不需要占用CPU资源。 3. 在程序1的第一次输出操作完成后,程序1进入第二次计算状态,CPU再次处于忙碌状态,程序1的第二次计算操作占用了CPU资源。 4. 程序1的第二次计算操作完成后,程序1进入第二次输出状态,此时CPU再次处于空闲状态,因为输出不需要占用CPU资源。 5. 在程序1的第二次输出操作完成后,程序1结束,此时CPU处于空闲状态。 6. 程序2开始执行时,CPU处于忙碌状态,程序2的第一次计算操作占用了CPU资源。 7. 在程序2的第一次计算操作完成后,程序2进入输出状态,此时CPU再次处于空闲状态,因为输出不需要占用CPU资源。 8. 在程序2的第一次输出操作完成后,程序2进入第二次计算状态,CPU再次处于忙碌状态,程序2的第二次计算操作占用了CPU资源。 9. 在程序2的第二次计算操作完成后,程序2结束,此时CPU处于空闲状态。 综上所述,CPU在程序1和程序2的输出状态时处于空闲状态,程序1和程序2在等待CPU的情况下,发生在它们的计算操作中,因为计算操作需要占用CPU资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值