您的位置:首页 > 编程语言 > Java开发

Java--内部类

2016-05-26 10:39 323 查看
本文的部分知识点源于张老师的《Java就业培训教程》。

内部类是可以访问和引用它的外部类的所有变量和方法,反过来就不成立了。内部类的成员只有在内部类的范围内是可知的,并不能被外部类使用,和外部类不同的是内部类可以声明为private和protected;

1.为什么要定义内部类?什么情况下需要将一个类定义成内部类?

内部类使得程序代码更为紧凑,程序更具模块化。

当一个类中的程序代码要用到另外一个类的实例对象,而在另一个类的程序代码中又要访问第一个类中的成员,这样将另外一个类做成第一个类的内部类,程序代码就容易多了。

2.内部类如何被外部类引用?

内部类可以通过创建对象从外部类之外被调用,只要将内部类声明为public即可;

如Ourter外部类,Inner内部类其中含有方法doStuff(),通过:

Outer outer = new Outer();

Outter.Inner inner = outer.new Inner();

inner.doStuff();

3.内部类还可以定义在方法中,甚至是for循环体内部;

4.匿名内部类:

内部类可以声明为抽象类或者接口,它可以被另外一个内部类来继承或者实现。内部类可以继承外部类亦可以用final关键字修饰。

eg:需要产生一个类A的匿名子类的实例对象,并传递给callInner方法。写完效果如下:

new Outer().callInner(new A(){

})
在那对大括号中间,增加匿名子类的所有实现代码;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: