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

Java的学习笔记

2016-03-13 12:32 519 查看
我对内部类这一块的知识不熟悉,因此我查了一些资料并学习做了一些笔记。

1.内部类:

内部类可以访问外部类中的所有成员方法和成员变量。原因,由外部类.this来引用外部类的变量和方法。

内部类变量:index/this.index/Middle.this.index/Outer.this.index。

访问内部类:外部类提供一个方法,返回它的内部类。

Outer outer = new Outer();

Outer.Inner inner = outer.getInnter();

Outer.Inner inner = outer.new Innter(); 建立内部类与外部类的关系。

能否直接访问内部类,看它是否可见,不可见(在外部类的外边)就通过外部类引用,如果可见(在外部类的内部,和内部类在同一层),就直接引用,例如在外部类里引用。静态中不能有非静态,包括main。因为static是在类被加载的时候就存在,而非static是实例化一个对象时才存在的。当把类写到一个方法的内部时,那么这个类的范围只能在这个方法内部去使用。

内部类可以放到:函数中,条件语句中,语句块中。不管欠套有多深,都可以随意访问外部类的成员。

把内部类定义在了一个方法当中,如果要在内部类中访问该方法的参数,或者访问该方法中的变量时,该变量必须为final的。

内部类:不只是public,default了,可把它的修饰比照方法的访问范围。

内部类也可以定义为抽象类。

静态的内部类只能访问外部类的静态成员变量和成员方法。

静态内部类:能够有静态的声明。

非静态内部类:不能够有静态的声明。为什么?解释:非静态的内部类说明需要实例化后才能用,而内部类中的变量却是静态的,即加载类的时候加载,之间矛盾。

只有顶层类或static的内部类中才可以声明static成员。

如果外部类要访问内部类的成员,要先实例化一个内部类的对象,通过对象去访问内部类的成员。

2.内部类更多用法:

内部类实现接口,并将内部类定义为private,这样可以隐藏实现细节。让用户只能通过接口去访问。

内部类应用:

当一个类继承了一个类并且实现了一个接口,但是实现的接口中的方法和继承的类中的方法同名,为了避免,使用内部类去实现这个接口。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: