final 关键字
final 的作用:
1)变量的:如果使用 final 关键字修饰一个变量,则意味这个变量最终的值是 xxx,当前值不会再变了。常量
final int aa = 9;
2)类的:还可以用来修饰类,不想被继承。
3)方法的:也可以用在方法中,主要是标明当前方法的功能是固定的了,当发生继承的时候,子类不能重写。
总结:如果不想当前的类、变量、方法的值或者功能发生变动的话,就使用 final 关键字修饰。
final 的特点:
1)final 修饰的类不可以被继承,但它可以去继承其他类。
2)final 修饰的方法不可以被重写,如果在父类中没有被 final 修饰过的方法,在子类重写后可以加上 final 修饰。
3)引用类型的变量值是保存对象地址的话,地址值不能再改变。但对象中的属性值是可变的。
4)在使用 final 修饰变量的时候,必须要赋初始值,否则报错。
static 静态
能不能不创建对象个,就直接可以调用方法?调用变量?
被 static 静态修饰后的成员变量就属于类的,不属于这个类的对象(实例)。
可以直接使用【类名.变量名】方式来访问对应的数据。
注意点:
1)静态内容是优于对象存在的,只能访问静态内容,不能使用 this 和 super 关键字。
2)静态内容是主要存在静态区。
3)静态成员只能访问静态成员。
如果是在接口中,我们建议大家定义变量的时候,考虑使用 final 和static 来修饰
public final static
匿名对象
匿名对象其实是指创建对象的时候,只有创建对象的语句,但没有把对象地址赋值给任何一个变量。
1)创建匿名对象,直接使用,不需要变量名
new User().getName();
2)一个 new 关键字就是新开辟一个内存空间
new User().getName();
new User().getName();
内部类
内部类:在一个类中,再加入一个类,称为内部类。
有钱了,人 - 车 - 发动机 - 铁管
什么时候用到内部类
在我们描述事物的时候,如果当前事物还有可能包含其他的东西,则可以使用内部类来描述。
内部类主要是分为成员内部类和局部内部类(相对成员内部类来讲的)两种。
匿名内部类
内部类,主要是帮我们应对一些类之间复杂的关系。
1)临时定义某一指定类型的子类。
2)一旦定义好,即可创建指定类型的子类对象。
匿名内部类是创建某个类型子类对象的快捷方式
命名空间:namespace 可以用包的形式来区分不同的区域,存放一些有可能相同的值。
以后在读写文件是否,有可能会通过“包扫描”方式来读取对应的内容。
Spring -- 注解
<context:scan package="com.hello"/>