这是我参与8月更文挑战的第24天,活动详情查看:8月更文挑战
难度级别: 中等
程序
程序一
1) 以下程序的输出是什么?
class A
{
public A(String s)
{
System.out.print("A");
}
}
public class B extends A
{
public B(String s)
{
System.out.print("B");
}
public static void main(String[] args)
{
new B("C");
System.out.println(" ");
}
}
程序二
2) 以下程序的输出是什么?
class Clidder
{
private final void flipper()
{
System.out.println("haiyong");
}
}
public class Clidlet extends Clidder
{
public final void flipper()
{
System.out.println("HAIYONG");
}
public static void main(String[] args)
{
new Clidlet().flipper();
}
}
程序三
3) 以下程序的输出是什么?
class Alpha
{
static String s = " ";
protected Alpha()
{
s += "alpha ";
}
}
class SubAlpha extends Alpha
{
private SubAlpha()
{
s += "sub ";
}
}
public class SubSubAlpha extends Alpha
{
private SubSubAlpha()
{
s += "subsub ";
}
public static void main(String[] args)
{
new SubSubAlpha();
System.out.println(s);
}
}
程序四
4) 以下程序的输出是什么?
public class Juggler extends Thread
{
public static void main(String[] args)
{
try
{
Thread t = new Thread(new Juggler());
Thread t2 = new Thread(new Juggler());
}
catch (Exception e)
{
System.out.print("e ");
}
}
public void run()
{
for (int i = 0; i < 2; i++)
{
try
{
Thread.sleep(500);
}
catch (Exception e)
{
System.out.print("e2 ");
}
System.out.print(Thread.currentThread().getName()+ " ");
}
}
}
程序五
5) 以下程序的输出是什么?
class Grandparent
{
public void Print()
{
System.out.println("Grandparent's Print()");
}
}
class Parent extends Grandparent
{
public void Print()
{
System.out.println("Parent's Print()");
}
}
class Child extends Parent
{
public void Print()
{
super.super.Print();
System.out.println("Child's Print()");
}
}
public class Main
{
public static void main(String[] args)
{
Child c = new Child();
c.Print();
}
}
文章后半部分是程序的输出及解析
输出及解析
程序一输出
输出: 编译失败
prog.java:12: error: constructor A in class A cannot be applied to given types;
{
^
required: String
found: no arguments
reason: actual and formal argument lists differ in length
1 error
说明:
B 的构造函数中隐含的 super() 调用无法满足,因为 A 中没有无参数构造函数。仅当类没有显式定义的构造函数时,编译器才会生成默认的无参数构造函数。
程序二输出
输出:
HAIYONG
说明:
虽然不能覆盖 final 方法,但在这种情况下,该方法是私有的,因此是隐藏的。结果是创建了一个新的、可访问的方法翻转器。因此,在这个例子中没有发生多态,调用的方法只是子类的方法,不会发生错误。
程序三输出
输出:
alpha subsub
说明:
SubSubAlpha 扩展了 Alpha!由于代码不会尝试创建 SubAlpha,因此 SubAlpha 中的私有构造函数是可以的。
程序四答案
输出
无输出
说明:
在 main() 中,start() 方法从未被调用来启动“t”和“t2”,因此 run() 从未运行过。
程序五答案
输出 :
编译器错误在 super.super.Print()
说明:
在 Java 中,不允许执行 super.super。我们只能使用 Parent 访问祖父母的成员。
以上就是本篇文章的所有内容了
相关文章:
【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 程序的输出 | 第十七套(含解析)
【Java练习题】Java 程序的输出 | 第十八套(重写)
【Java练习题】Java 程序的输出 | 第十九套(含解析)
我已经写了很长一段时间的技术博客,这是我的一篇技术文章/教程。希望你们会喜欢!这里汇总了我的全部原创及作品源码:GitHub,还有这是我最近刚搭建的博客:haiyong.site,里面还没啥内容,放了一些HTML小游戏,有兴趣的可以尝试一下,源码可以自己F12复制,或者直接找我要。
如果你真的从这篇文章中学到了一些新东西,喜欢它,收藏它并与你的小伙伴分享。🤗最后,不要忘了❤或📑支持一下哦。