我有一个要解决的示例代码,它基于inner
类:
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");
}
}
}
上面示例代码给出的输出是:
Middle
Inner
我的问题是,鉴于我不想使用包名创建对象,如何将输出打印为:
Outer
Inner
答案 0 :(得分:0)
由于使用包装显然是答案,我认为你正在寻找一些迟钝的东西。
您可以添加外部类并调用它。
class B extends A { }
// in TestInner.go()
new B().m();
class A{
void m(){
System.out.println("Inner");
}
}
new A().m();
答案 1 :(得分:0)
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");
}
}