这是我参与8月更文挑战的第19天,活动详情查看:8月更文挑战
难度级别: 困难
程序
程序一
1) 以下程序的输出是什么?
public class Outer
{
public static int temp1 = 1;
private static int temp2 = 2;
public int temp3 = 3;
private int temp4 = 4;
public static class Inner
{
private static int temp5 = 5;
private static int getSum()
{
return (temp1 + temp2 + temp3 + temp4 + temp5);
}
}
public static void main(String[] args)
{
Outer.Inner obj = new Outer.Inner();
System.out.println(obj.getSum());
}
}
复制代码
a) 15
b) 9
c) 5
d) 编译错误
程序二
2) 以下程序的输出是什么?
public class Outer
{
private static int data = 10;
private static int LocalClass()
{
class Inner
{
public int data = 20;
private int getData()
{
return data;
}
};
Inner inner = new Inner();
return inner.getData();
}
public static void main(String[] args)
{
System.out.println(data * LocalClass());
}
}
复制代码
a) 编译错误
b) 运行时错误
c) 200
d) 以上都不是
程序三
3) 以下程序的输出是什么?
interface Anonymous
{
public int getValue();
}
public class Outer
{
private int data = 15;
public static void main(String[] args)
{
Anonymous inner = new Anonymous()
{
int data = 5;
public int getValue()
{
return data;
}
public int getData()
{
return data;
}
};
Outer outer = new Outer();
System.out.println(inner.getValue() + inner.getData() + outer.data);
}
}
复制代码
a) 25
b) 编译错误
c) 20
d) 运行时错误
程序四
4) 以下程序的输出是什么?
public class Outer
{
private int data = 10;
class Inner
{
private int data = 20;
private int getData()
{
return data;
}
public void main(String[] args)
{
Inner inner = new Inner();
System.out.println(inner.getData());
}
}
private int getData()
{
return data;
}
public static void main(String[] args)
{
Outer outer = new Outer();
Outer.Inner inner = outer.new Inner();
System.out.printf("%d", outer.getData());
inner.main(args);
}
}
复制代码
a) 2010
b) 1020
c) 编译错误
d) 这些都不是
程序五
5) 以下程序的输出是什么?
interface OuterInterface
{
public void InnerMethod();
public interface InnerInterface
{
public void InnerMethod();
}
}
public class Outer implements OuterInterface.InnerInterface, OuterInterface
{
public void InnerMethod()
{
System.out.println(100);
}
public static void main(String[] args)
{
Outer obj = new Outer();
obj.InnerMethod();
}
}
复制代码
a) 100
b) 编译错误
c) 运行时错误
d) 以上都不是
文章后半部分是程序的输出及解析

输出及解析
程序一输出
答案:
(d)
复制代码
说明:
静态内部类不能访问外部类的非静态字段。
程序二输出
答案:
(C)
复制代码
说明:
LocalClass() 方法定义了一个局部内部类。此方法创建类 Inner 的对象并返回驻留在其中的变量数据的值。
程序三输出
答案:
(b)
复制代码
说明:
方法 getData() 在 Anonymous 类中未定义,导致编译错误。
程序四答案
回答 :
(b)
复制代码
说明:
上面定义的内部类虽然可以访问外部类的私有变量数据,但是在内部类中声明变量数据使其特定于内部类,在变量声明方面没有冲突。
程序五答案
回答 :
(a)
复制代码
说明:
嵌套接口是在java中定义的。由于两个接口都有 InnerMethod() 的声明,因此实现它一次对 InnerInterface 和 OuterInterface 都有效。
以上就是本篇文章的所有内容了
相关文章:
【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复制,或者直接找我要。
如果你真的从这篇文章中学到了一些新东西,喜欢它,收藏它并与你的小伙伴分享。?最后,不要忘了❤或?支持一下哦。























![[桜井宁宁]COS和泉纱雾超可爱写真福利集-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/4d3cf227a85d7e79f5d6b4efb6bde3e8.jpg)

![[桜井宁宁] 爆乳奶牛少女cos写真-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/d40483e126fcf567894e89c65eaca655.jpg)