/*
内部类:嵌套类将类定义在另一个类的内部,内部的类就称为内部类
内部类可以直接访问外部类中的成员
外部类要访问内部类中的成员,必须要创建内部类的对象
*/
class Outer
{
static int num=3;
//内部类:定义在成员位置上,它就相当于外部类的成员一样
//可以被成员修饰符所修饰
public class Inner
{
void show()
{
System.out.println("Inner num="+num);
}
}
public static class Inner2
{
void show()
{
System.out.println("Inner2 num="+num);
}
}
//当内部类中定义了静态成员,该内部类必须被静态修饰
public static class Inner3
{
static void show()
{
System.out.println("Inner3 num+"+num);
}
}
void show()
{
Inner in=new Inner();
in.show();
}
}
class InnerDemo
{
public static void main(String[] args)
{
//1、对非静态的内部类中的非静态成员的访问
Outer.Inner inner=new Outer().new Inner();
inner.show();
//2、访问静态内部类中的非静态成员
new Outer.Inner2().show();
//3、访问静态内部类中的非静态成员
Outer.Inner3.show();
Outer outClass=new Outer();
outClass.show();
System.out.println("Hello World!");
}
}