/*
内部类:就是类中的类
1.它可以直接访问外部的成员变量及成员方法,包括私有的。因为在调用的成员前面包含外部类名.this;
2.外部类不可以直接访问内部类的成员,必须在外部类中创建对象,然后用对象访问的方法访问;
内部静态类:
内部静态类只能访问外部类的静态成员,如果类中也有同名的,则用外部类名.变量指明;
*/
class InnerClassDemo
{
public static void main(String[] args)
{
OutClass out=new OutClass();
out.method();
//访问静态内部类的非静态方法
new OutClass.InnerClass().function();
//访问静态内部类的静态方法
OutClass.InnerClass.function();
}
}
class OutClass
{
static int num =2;
static void test()
{
System.out.println("访问外部类中的静态成员方法");
}
static class InnerClass
{
//int num=3;
static void function()
{
//int num=4;
OutClass.test();
System.out.println("Inner:"+OutClass.num);
}
}
void method()
{
//通过创建对象访问;
InnerClass inner=new InnerClass();
inner.function();
int num=123;
class InnerClass2
{
void show()
{
System.out.println("成员内部类:"+num);
}
}
new InnerClass2().show();
//直接访问;
//OutClass.InnerClass in=new OutClass().new InnerClass();
//in.function();
}
}
内部类
最新推荐文章于 2022-07-11 16:35:25 发布