java 急求 内部类 关于外部类访问内部类的例子,简单点,不要复杂的,原创!!

 我来答
沈阳java
2011-06-02 · TA获得超过1507个赞
知道小有建树答主
回答量:797
采纳率:50%
帮助的人:679万
展开全部
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工程师就业培训贡献!
ymiqplgao
2011-06-02 · TA获得超过646个赞
知道小有建树答主
回答量:512
采纳率:0%
帮助的人:393万
展开全部
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();//匿名类的对象调用匿名类实现的方法
}
}

孙鑫老师讲的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式