内容
内部类
内部类
详细请看:https://www.jianshu.com/p/8e404641b56c
1.为啥要用内部类
①希望封装相应的功能,这些功能可能不太希望直接暴露给外部。
②访问外部类中私有的数据
2.注意点强调
①内部类可以直接访问外部类的数据,但是外部类无法访问内部类的相应数据
②final修饰类,那么这个类无法被继承
③内部类可以使用private public protected final来修饰,外部类只能使用public修饰
3.使用实例
比如Car的一个内部类为Engine
则可以
Car bz = new Car();
Car.Engine engine = bz.new Engine();
不过很少这样用
如果内部类已经是静态的了
则可以
Car.Engine engine = new Car.Engine();
省去了创建对象的过程
4.匿名内部类
匿名对象
①如果创建对象之后,还需要多次使用这个对象,操作对象里面的东西,则一般使用显式创建,就之前学过的绝大部分都是显式创建。
②但如果想创建了对象之后,只想使用这个对象一次,那一般就使用匿名对象(这个对象一般也无法更改了)
如 m1(new Worker("张三"));里面的new Worker("张三")就是匿名对象
匿名内部类
匿名内部类必须满足:继承某个父类或实现某个接口
使用示例
interface Father{
}
class Son implements Father{
}
public class 测试程序 {
public static void main(String[] args) throws Exception {
//使用匿名内部类
fun(new Father() {
});
//使用多态
fun(new Son());
}
public static void fun(Father a) {
}
}
本文详细探讨了Java内部类的用途和注意事项,包括封装功能、访问外部类私有数据的能力,以及如何使用内部类和匿名内部类。通过具体示例说明了内部类的创建和使用方法。
2964

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



