黑马程序员技术交流社区
标题:
主函数如何直接调用静态内部类
[打印本页]
作者:
马如龙
时间:
2014-6-12 19:44
标题:
主函数如何直接调用静态内部类
class Outer
{
private static int x = 3;
static class Inner//静态内部类
{
static void function()
{
System.out.println("innner :"+x);
}
}
static class Inner2
{
void show()
{
System.out.println("inner2 show");
}
}
}
class InnerClassDemo2
{
public static void main(String[] args)
{
new Inner2().show();
}
}
复制代码
InnerClassDemo2.java:29: 错误: 找不到符号
new Inner2().show();
^
符号: 类 Inner2
位置: 类 InnerClassDemo2
1 个错误
作者:
伊甸拾忆
时间:
2014-6-12 20:03
// new Outer.Inner2().show(); //直接匿名访问
Outer.Inner2 o = new Outer.Inner2(); //创建对象o
o.show(); // 对象o调用show()方法
复制代码
作者:
马如龙
时间:
2014-6-13 00:26
伊甸拾忆 发表于 2014-6-12 20:03
谢谢,学的不错啊
作者:
想飞的鱼
时间:
2014-6-13 09:09
嗯,楼上说的对。这里在小结一下:
外部其他类访问内部类成员的格式:
当内部类定义在成位置时
1,非私有,非静态——————可以在外部其他类中直接创建此内部类的对象,然后调用内部类中成员
格式:外部类名.内部类名 变量名 = 外部类对象.内部类对象;
2,非私有,静态———————(1)访问内部类中非静态成员:如:new Outer.Inner2().show();
(2)访问内部类中静态成员(直接类名调用):如:Outer.Inner.show2();
代码如下:
class Outer
{
static class Inner2//静态内部类
{
void show()//非静态方法
{
System.out.println("inner2 show");
}
static void show2()//静态方法
{
System.out.println("显示2");
}
}
}
class InnerClassDemo2
{
public static void main(String[] args)
{
new Outer.Inner2().show();
Outer.Inner2.show2();
}
}
复制代码
作者:
四顾行者
时间:
2014-6-13 09:43
伊甸拾忆 发表于 2014-6-12 20:03
就是这样了
作者:
a6217815
时间:
2014-6-13 09:49
外部类的对象都没有建立,怎么调用内部类啊....
作者:
坠花湮
时间:
2014-6-13 09:53
学习了 ,这些基础
作者:
peterbu
时间:
2014-6-14 17:37
领教了,学习了!!!!!
作者:
215041631
时间:
2014-6-14 17:43
1L 2L回答都很完整了~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2