1、 创建一个类名为 Outer 的类, 在 Outer 类中包含一个 内部类 Inner。 2、 在主方法中,实例化 Inner 类。 3、 为什么通过的方式是: Outer类的实例 .new Inner() ,new不是关键字的吗? new 为什么可以前面加点这样用? 代码如下:// 包含有 内部类 的Outer 类
class Outer
{
class Inner
{
int index = 70; void print()
{
System.out.println(index);
}
}
}// 主方法所在的类
class Test
{
public static void main(String[] args)
{
Outer _outer = new Outer();
Outer.Inner in = _outer.new Inner();
in.print();
}
}
class Outer
{
class Inner
{
int index = 70; void print()
{
System.out.println(index);
}
}
}// 主方法所在的类
class Test
{
public static void main(String[] args)
{
Outer _outer = new Outer();
Outer.Inner in = _outer.new Inner();
in.print();
}
}
可以把内部类想象成一个属性,那么要访问非static属性,就需要外部类实例,所以必须先new外部类,在通过外部类实例new内部类
LZ可以试着在把 class Inner 改成 static class Inner
然后 在main中 直接 Outer.Inner in = new Outer.Inner();
好好理解一下两种的区别
{
class Inner
{
int index = 70; void print()
{
System.out.println(index);
}
}
}
class Inner
{
}
这样写也是能够编译通过,语法上做个区分
请问: 是不是 所有的 类中 都可以使用 .new 的方式 new 里面的东西?
因为我 java 功力不深厚啊 先请见谅 因为以往看见 new 的时候 , 都是 = new XXX() , 但是这里用的是 类名.new 所以我很想知道, new 是关键字, 为什么可以 用 类名 来 点new来用
那就是说 .new 这样的形式,是内部类这种情况下,纯语法上的使用形式, 请问是这样的吗?