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

808 阅读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复制,或者直接找我要。

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