黑马程序员--java内部类

来源:互联网 发布:文件管理器软件 编辑:程序博客网 时间:2024/05/16 23:01
------- android培训、java培训、期待与您交流! ----------1、内部类:讲一个类定义在另一个类里面,对里面的那个类就称为内部类。这样做有什么好处呢?因为内部类使用外部类的内容。我们可以直接访问内部类的成员,是因为内部类 中有一个外部类的引用,格式为:外部类.this2、访问特点:内部类可以直接访问外部类的成员,包括私有成员。 外部类要访问内部类的成员必须要建立内部类对象。3、当内部类在成员位置上,就可以被成员修饰符所修饰,比如private将内部类在外部类进行封装。 static内部类就具备static的特性,当内部类被静态修饰后只能访问外部类的静态成员。4、在外部类中我们如何访问static内部类的静态成员outer.inner.function();5、内部类不能有静态声明。6、当外部的静态方法访问到内部类时,内部类也必须是static的。7、局部内部类不可以定义静态成员。8、内部类定义在局部时:一,不可以被成员修饰符修饰。二,可以直接访问它所在的局部中的变量,只 能访问被final修饰的成员变量。9、匿名内部类。这个类在android开发中会经常用到的。一,匿名内部类其实就是内部类的简写格式。 二,定义匿名内部类的前提:内部类必须是继承一个类或者实现一个接口。10、内部类的格式:new 父类或者接口(){}11、匿名内部类就是一个匿名子类对象,而且这个类有点胖,可以直接理解为带内容的对象12、匿名内部类的方法最好不要超过三个。最后举一个具体的例子来说明一下匿名内部类的使用:abstract class Demo{ abstract void show();}class Outer{ int x=3;class Inner extends Demo{ void show(){ System.out.println("show:"+x);}}public void function(){ new Inner().show(); new Demo(){ void show() { System.out.println("x="+x);}}.show();}}  -------android培训、java培训、期待与您交流! ----------