控制反转和内部类
控制反转
简单来说:控制反转是java编写时留的一个接口,它可以通过这个接口来调用你自己写的代码。
控制反转是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度,还可以通过控制反转,
让对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递给它
内部类
内部类
定义在别的类的内部,函数内部的类
内部类能直接访问外部的全部资源
包括任何私有的成员
外部是函数时,只能访问那个函数里final的变量
内部类可以分为四种:普通内部类,匿名内部类,局部内部类,静态内部类
在一个类的内部定义一个另外的类,那这个类就是一个内部类,在别的类里面的类叫做内部类
普通内部类
内部类可以直接访问外部类的成员,包括私有成员。
public class wu { class wula{ } }
匿名内部类
在new对象的时候给出的类的定义形成了匿名类
匿名类可以继承某类,也可以实现某接口
Swing的消息机制广泛使用匿名类
局部内部类
局部内部类与局部变量一样,不能使用访问控制修饰符(public、private 和 protected)和 static 修饰符修饰。
局部内部类只在当前方法中有效。
局部内部类只在当前方法中有效。局部内部类中不能定义 static 成员。
在局部内部类中可以访问外部类的所有成员。
在局部内部类中只可以访问当前方法中 final 类型的参数与变量。如果方法中的成员与外部类中的成员同名,则可以使用 <OuterClassName>.this.<MemberName> 的形式访问外部类中的成员。
静态内部类
在创建静态内部类的实例时,不需要创建外部类的实例。
静态内部类中可以定义静态成员和实例成员。外部类以外的其他类需要通过完整的类名访问静态内部类中的静态成员,如果要访问静态内部类中的实例成员,则需要通过静态内部类的实例。
静态内部类可以直接访问外部类的静态成员,如果要访问外部类的实例成员,则需要通过外部类的实例去访问。

浙公网安备 33010602011771号