####final
final关键字代表着最终 不可改变。
常见的四种用法:修饰类、方法、局部、成员变量。
修饰类
含义:当前类不能有任何的子类,一个类被final修饰,那么其中的所有成员方法都没办法进行覆盖 重写。
格式:
public final class 类名{
方法体;
}
修饰方法
当用final关键字用来修饰一个方法的时候 这个方法就是最终方法,也不能覆盖重写。
格式:
修饰符 final 返回值类型 方法名称(参数列表){
方法体;
}
对于类和方法来说 ,abstract关键字和final关键字不能同时使用,因为矛盾。
修饰局部变量
当使用final修饰局部变量,那么这个变量就没办法再进行更改了。
修饰成员变量
当使用final修饰成员变量以后 这个变量也是不可变的。由于成员变量具有默认值,所以用了final之后就必须手动赋值,不会再给默认值了,对于final修饰的成员变量 要么直接赋值,要么通过构造方法赋值。
####java中四种去权限修饰符:
public >protected >(default) > private
(default)并不是关键字,而是不写。
内部类
一个类内部包含另一个类。分为成员内部类和局部内部类。
成员内部类格式:
修饰符 class 类名称{
修饰符 class 内部类名称{
}
}
内用外,可以随意访问。
外用内,需要内部类对象。
使用成员内部类的两种方式:
1 间接方式:在外部类的方法当中使用内部类;然后main只是调用外部类的方法。
2 直接方式:公式:类名称 对象名 = new 类名称();
外部类名称.内部类名称 对象名 = new 外部类名称().new 内部类名称();
如果一个类是定义在一个方法内部的 那么这就是一个局部内部类,“局部”:只有当前所属的方法才能使用它,除了这个方法外面就不能用了。
格式:
修饰符 class 外部类名称{
修饰符 返回值类型 外部类方法名称(参数列表){
class 局部内部类名称{
}
}
}