内部类和类隐藏的难题 [英] Puzzle on Inner Classes and Class Hiding
本文介绍了内部类和类隐藏的难题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个基于 inner
类的示例代码:
I have a sample code to solve which is based on inner
classes:
package inner;
class A {
void m() {
System.out.println("Outer");
}
}
public class TestInner {
public static void main(String[] args) {
new TestInner().go();
}
private void go() {
new A().m();
class A{
void m(){
System.out.println("Inner");
}
}
new A().m();
}
class A{
void m(){
System.out.println("Middle");
}
}
}
上面的示例代码给出的输出是:
The output given by above sample code is:
Middle
Inner
我的问题是,由于我不想使用包名创建一个对象,我如何打印输出:
And my question is, given that I dont want to use the package name to create an object, how can I print the output as:
Outer
Inner
推荐答案
public class TestInner {
public static void main(String[] args) {
new TestInner().go();
}
private void go() {
new inner.A().m(); //will produce output "Outer"
class A{
void m(){
System.out.println("Inner");
}
}
new A().m(); //will produce output "Inner"
}
class A{
void m(){
System.out.println("Middle");
}
}
这篇关于内部类和类隐藏的难题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文