JAVA内部类

来源:互联网 发布:dos命令执行java程序 编辑:程序博客网 时间:2024/05/20 21:42

简述:

java中将B类定义在A类中,那么B类就称之为内部类,内部类有分为两种,一种是成员内部类,一种是局部内部类

设计思想:

在描述A类事物时发现其内部还有复杂的事物,该事物就用内部类B类进行描述,一般建议内部类B类进行private是封装,

在外部类中提供访问方法进行访问。

内部类访问规则:

内部类B类像访问外部类A类的成员(函数与变量)无需创建对象即可直接访问;包括外部类A类的private私有成员;

因为内部类B类访问外部类A类中的成员时,省略了:外部类A类.this.成员。

外部类A类想访问内部类B类的成员必须要先建立内部类B类的对象才能访问内部类B类中的成员;

在其他外部类中想访问内部类B类的成员,先要创建内部类B类的对象,

创建格式:外部类A类.内部类B类变量名称  =  new 外部类A类.new  内部类B类;

成员内部类顾名思义就是B类在A类的成员位置时就称之为成员内部类,既然称之为成员内部类就能被成员修饰符所修饰;

例如:

private将内部类B类在外部类A类中封装

static内部类B类就具备了static的特性

当内部类被static修饰后就只能访问外部类A类中的静态成员,出现了访问局限

在其他外部类中想访问内部类中的非静态成员new 外部类A类.内部类B类().成员

在其他外部类中访问内部类中的静态成员 外部类A类.内部类B类.成员

注意事项:

当内部类B类中定义了static方法时,那么内部类B类也必须是static的

当外部类A类中的static方法想访问内部类时,那么内部类B类也必须是静态的

匿名内部类

1,匿名内部类其实就是内部类的简写格式。
2,定义匿名内部类的前提:
内部类必须是继承一个类或者实现接口。
3,匿名内部类的格式:  new 父类或者接口(){定义子类的内容}
4,其实匿名内部类就是一个匿名子类对象。而且这个对象有点胖。可以理解为带内容的对象。
5,匿名内部类中定义的方法最好不要超过3个。


阅读全文
0 0
原创粉丝点击