如何在另一个类中调用另一个类的内部类的函数
下面是我的程序:class out
{
int out_1=100;
void test()
{
final int x=100;
class in
{
void display()
{
System.out.println("out_1="+out_1);
System.out.println(x);
}
}
in inner=new in();
inner.display();
}
}
class testout
{
public static void main(String [] args)
{
out outer=new out();
outer.test();
outer.test().display();
//inner.display();
;
}
}
我想在testout中调用out中的display函数!
求指点!
----------------解决方案--------------------------------------------------------
程序代码:
class out {
int out_1 = 100;
//内部类没有写在方法的里面
final int x = 100;
class in {
void display() {
System.out.println("out_1=" + out_1);
System.out.println(x);
}
}
public void display(){
in inner = new in();
inner.display();
}
//如果没有getin这个方法,也可以
in getin(){
return new in();
}
}
class testout {
public static void main(String[] args) {
out outer = new out();
outer.display();
out.in in=outer.getin();//这句代码也可以改成out.in in=outer.new in();
in.display();
}
}
int out_1 = 100;
//内部类没有写在方法的里面
final int x = 100;
class in {
void display() {
System.out.println("out_1=" + out_1);
System.out.println(x);
}
}
public void display(){
in inner = new in();
inner.display();
}
//如果没有getin这个方法,也可以
in getin(){
return new in();
}
}
class testout {
public static void main(String[] args) {
out outer = new out();
outer.display();
out.in in=outer.getin();//这句代码也可以改成out.in in=outer.new in();
in.display();
}
}
[ 本帖最后由 w527705090 于 2013-1-21 20:04 编辑 ]
----------------解决方案--------------------------------------------------------
我的问题不是这个,我是想问,就按我那个程序那样,怎么在main函数中,访问那个内部类的方法!
----------------解决方案--------------------------------------------------------
回复 2楼 w527705090
我的问题不是这个,我是想问,就按我那个程序那样,怎么在main函数中,访问那个内部类的方法 ----------------解决方案--------------------------------------------------------
回复 2楼 w527705090
你注意我是test的方法中,定义了一个类in!!!
----------------解决方案--------------------------------------------------------
内部类最典型的作用是 实现“多重继承”,你这样写的作用是什么?如果想实现内部类方法,1、可以考虑加in类构造器,确保不用调用方法,也内保证 打印语句自动执行。2.增加in getin(){ return new in();} 可以用这个方法传递In对象到外部。
//inner.display();
这个是不是要这样 outer.inner.display(); ?没有验证, 求验证。
----------------解决方案--------------------------------------------------------
厉害
----------------解决方案--------------------------------------------------------