java 急求 内部类 关于外部类访问内部类的例子,简单点,不要复杂的,原创!!
2个回答
展开全部
1.普通内部类
class A
{
class B
{
}
}
外界要使用A中的B,要先创建A的实例,然后通过A实例创建B
A a = new A();
A.B b = a.new B();
如果class B类前面有private修饰符外界就无法使用内部类了。
2.静态内部类
class A
{
static class B
{
}
}
静态内部类,外部可以直接使用和创建对象,不必先创建外部类的对象。
A.B b = new A.B();
3.局部内部类:将类的定义放在函数的局部,这样的内部类只能给当前函数使用。
4.匿名内部类。
---------------------------------
冠尔Java 3G工程师就业培训贡献!
class A
{
class B
{
}
}
外界要使用A中的B,要先创建A的实例,然后通过A实例创建B
A a = new A();
A.B b = a.new B();
如果class B类前面有private修饰符外界就无法使用内部类了。
2.静态内部类
class A
{
static class B
{
}
}
静态内部类,外部可以直接使用和创建对象,不必先创建外部类的对象。
A.B b = new A.B();
3.局部内部类:将类的定义放在函数的局部,这样的内部类只能给当前函数使用。
4.匿名内部类。
---------------------------------
冠尔Java 3G工程师就业培训贡献!
展开全部
interface Animal
{//抽象类不可以产生实例对象,但接口可以!
void Eat();
void Sleep();
}
class Zoo
{
private class Tiger implements Animal
{//内部类
public void Eat()
{
System.out.println("Tiger eat");
}
public void Sleep()
{
System.out.println("Tiger sleep");
}
}
Animal GetAnimal()
{
return new Tiger();//返回一个内部类对象的引用!
}
/*
Animal GetAnimal()
{
return new Animal()
//匿名类
{
public void Eat()
{
System.out.println("Animal eat");
}
public void Sleep()
{
System.out.println("Animal sleep");
}
};
}*/
}
class Test
{
public static void main(String[] args)
{
Zoo z=new Zoo();
Animal an=z.GetAnimal();//抽象类不可以产生实例对象,但接口可以!产生一个匿名类的对象
an.Eat();//匿名类的对象调用匿名类实现的方法
an.Sleep();//匿名类的对象调用匿名类实现的方法
}
}
孙鑫老师讲的
{//抽象类不可以产生实例对象,但接口可以!
void Eat();
void Sleep();
}
class Zoo
{
private class Tiger implements Animal
{//内部类
public void Eat()
{
System.out.println("Tiger eat");
}
public void Sleep()
{
System.out.println("Tiger sleep");
}
}
Animal GetAnimal()
{
return new Tiger();//返回一个内部类对象的引用!
}
/*
Animal GetAnimal()
{
return new Animal()
//匿名类
{
public void Eat()
{
System.out.println("Animal eat");
}
public void Sleep()
{
System.out.println("Animal sleep");
}
};
}*/
}
class Test
{
public static void main(String[] args)
{
Zoo z=new Zoo();
Animal an=z.GetAnimal();//抽象类不可以产生实例对象,但接口可以!产生一个匿名类的对象
an.Eat();//匿名类的对象调用匿名类实现的方法
an.Sleep();//匿名类的对象调用匿名类实现的方法
}
}
孙鑫老师讲的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询