内部类分为:成员内部类和局部内部类
内部类的好处:
内部类可以直接访问外部类的所有成员。
一、定义:java中允许将一个类A声明在另一个类B中,则类A就是内部类,类B称为外部类。
二、内部类的分类:成员内部类(静态,非静态) vs 局部内部类(方法内,代码块内,构造器内)
注:当内部类是用static修饰的时候,只能用外部类的静态结构
三、成员内部类的理解;
一方面,作为为外部类的成员:
>调用外部类的结构
>可以被static修饰
>可以被四种不同得到权限修饰
另一方面,作为一个类:
>类内部可以定义属性,方法,构造器等
>可以被final修饰,表示此类不能被继承。言外之意是,不使用final,就可以被继承
>可以被abstract修饰
四、成员内部类(类中的类):
1、如何创建成员变量内部类的对象?(静态的,非静态的)
创建静态的内部类的实例对象(静态的成员内部类)
外部类名.内部类名 对象名 = new 外部类名.内部类构造方法
创建非静态的内部类的实例对象(非静态的成员内部类);
外部类名 外部类对象名 = new 外部类构造方法
外部类名.内部类名 内部类名 = 外部类对象名.new 内部类构造方法
2、如何在成员内部类中调用外部类的结构?
当调用的是不同名的结构时可以直接调用
但如果是外部类中的结构与内部类中的结构同名了就需要一下调用的方法
可以通过"外部类.this.外部类结构名" 指定访问外部类的结构。
五、局部内部类(类中的方法中的类)的使用
1,在方法内部调用其他方法时,如果方法需要一个对象(尤其是接口和抽象类的子类对象)
这个时候可以用一个局部内部类
2,在写一个方法的返回值时(尤其是返回值时接口和抽象类的子类对象)
这个时候可以用一个局部内部类
java内部类
最新推荐文章于 2024-11-26 17:34:20 发布
1万+

被折叠的 条评论
为什么被折叠?



