【Java练习题】Java 程序的输出 | 第十八套(重写)

625 阅读4分钟

这是我参与8月更文挑战的第22天,活动详情查看:8月更文挑战

难度级别: 简单

程序

程序一

1) 以下程序的输出是什么?

class Derived
{
	protected final void getDetails()
	{
		System.out.println("Derived class");
	}
}

public class Test extends Derived
{
	protected final void getDetails()
	{
		System.out.println("Test class");
	}
	public static void main(String[] args)
	{
		Derived obj = new Derived();
		obj.getDetails();
	}
}

a) 派生类
b) 测试类
c) 运行时错误
d) 编译错误

点此跳转到答案


程序二

2) 以下程序的输出是什么?

class Derived
{
	public void getDetails(String temp)
	{
		System.out.println("Derived class " + temp);
	}
}

public class Test extends Derived
{
	public int getDetails(String temp)
	{
		System.out.println("Test class " + temp);
		return 0;
	}
	public static void main(String[] args)
	{
		Test obj = new Test();
		obj.getDetails("HY");
	}
}

a) Derived class HY
b) Test class HY
c) Compilation error
d) Runtime error

点此跳转到答案


程序三

3) 以下程序的输出是什么?

class Derived
{
	public void getDetails()
	{
		System.out.println("Derived class");
	}
}

public class Test extends Derived
{
	protected void getDetails()
	{
		System.out.println("Test class");
	}
	public static void main(String[] args)
	{
		Derived obj = new Test(); // line xyz
		obj.getDetails();
	}
}

a) Test class
b) Compilation error due to line xyz
c) Derived class
d) Compilation error due to access modifier

点此跳转到答案


程序四

4) 以下程序的输出是什么?

import java.io.IOException;

class Derived
{
	public void getDetails() throws IOException //line 23
	{
		System.out.println("Derived class");
	}
}

public class Test extends Derived
{
	public void getDetails() throws Exception //line 24
	{
		System.out.println("Test class");
	}
	public static void main(String[] args) throws IOException //line 25
	{
		Derived obj = new Test();
		obj.getDetails();
	}
}

a) 由于第 23 行导致的编译错误
b) 由于第 24 行导致的编译错误
c) 由于第 25 行导致的编译错误
d) 以上所有

点此跳转到答案


程序五

5) 以下程序的输出是什么?

class Derived
{
	public void getDetails()
	{
		System.out.printf("Derived class ");
	}
}

public class Test extends Derived
{
	public void getDetails()
	{
		System.out.printf("Test class ");
		super.getDetails();
	}
	public static void main(String[] args)
	{
		Derived obj = new Test();
		obj.getDetails();
	}
}

a) Test class Derived class
b) Derived class Test class
c) 编译错误
d) 运行时错误

点此跳转到答案


文章后半部分是程序的输出及解析

e5c6cea5b62c3294f17e2e9eaf8538c2.jpg


输出及解析

程序一输出

答案

(d)

说明

final 和static 方法不能被重写。


程序二输出

答案

(c)

说明

重写方法必须具有相同的签名,包括参数列表和返回类型


程序三输出

答案

(d)

说明

重写方法不能有更严格的访问修饰符


程序四答案

回答 :

(b)

说明

覆盖方法抛出的异常不应是新的或更广泛的检查异常。在上面的代码中,Exception是比 IOException 更广泛的检查异常类,因此这会导致编译错误。


程序五答案

回答 :

(a)

说明:

super 关键字用于显式调用子类的重写方法。


以上就是本篇文章的所有内容了

相关文章:

【Java练习题】Java 程序的输出 | 第一套(含解析)
【Java练习题】Java 程序的输出 | 第二套(含解析)
【Java练习题】Java 程序的输出 | 第三套(含解析)
【Java练习题】Java 程序的输出 | 第四套(含解析)
【Java练习题】Java 程序的输出 | 第五套(含解析)
【Java练习题】Java 程序的输出 | 第六套(含解析)
【Java练习题】Java 程序的输出 | 第七套(含解析)
【Java练习题】Java 程序的输出 | 第八套(含解析)
【Java练习题】Java 程序的输出 | 第九套(含解析)
【Java练习题】Java 程序的输出 | 第十套(垃圾回收)
【Java练习题】Java 程序的输出 | 第十一套(含解析)
【Java练习题】Java 程序的输出 | 第十二套(含解析)
【Java练习题】Java 程序的输出 | 第十三套(集合)
【Java练习题】Java 程序的输出 | 第十四套(构造函数)
【Java练习题】Java 程序的输出 | 第十五套(内部类)
【Java练习题】Java 程序的输出 | 第十六套(线程)
【Java练习题】Java 程序的输出 | 第十七套(含解析)

我已经写了很长一段时间的技术博客,这是我的一篇技术文章/教程。希望你们会喜欢!这里汇总了我的全部原创及作品源码:GitHub,还有这是我最近刚搭建的博客:haiyong.site,里面还没啥内容,放了一些HTML小游戏,有兴趣的可以尝试一下,源码可以自己F12复制,或者直接找我要。

如果你真的从这篇文章中学到了一些新东西,喜欢它,收藏它并与你的小伙伴分享。🤗最后,不要忘了❤或📑支持一下哦。