内部类:
1、定义
可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。
2、局部内部类的特点
1.局部内部类是定义在一个方法或者一个作用域里面的类,它和成员内部类的区别在于局部内部类的访问仅限于方法内或者该作用域内。
2.局部内部类不可使用权限修饰符 静态修饰符进行修饰 同局部变量相同
3.局部内部类可以直接访问方法中的属性
4.局部内部类 可以直接访问方法外部类中属性和方法
5.局部内部类 创建对象 要在方法内部 局部内部类的外部声明
3、例子:
static关键字:
1、static修饰成员变量:
一般称作静态变量,一般是在类中直接使用,表示该变量在类初次被加载的时候就已经定义好了。
2、static修饰成员方法:
一般称作静态方法,只能通过类来访问,没有this,静态方法中不能访问类的非静态成员方法和非静态成员变量,非静态成员方法和非静态成员变量都必须依赖对象来调用。但是,非静态成员方法可以访问静态成员方法和静态成员变量。
3、static修饰代码块:
static块可以置于类中的任何地方,类中可以有多个static块。在类初次被加载的时候,会按照static块的顺序来依次执行每个static块,并且只会执行一次。static块的优点是可以优化程序性能,因为它只在类初次被加载的时候执行一次。
4、注:
static关键字不会改变变量和方法的访问权限。
非静态成员方法中可以通过this访问静态方法成员变量。
java中不允许使用static修饰局部变量。
final关键字:
1、final关键字代表最终、不可改变的。
2、可以用来修饰一个类:太监类,没有儿子
1.格式:
public final class 类名称 { // ... }
3、final修饰方法
1.含义:当final关键字用来修饰一个方法的时候,这个方法就是最终方法,也就是不能被覆盖重写。
2.格式:
修饰符 final 返回值类型 方法名称(参数列表) {
// 方法体
}
4、final修饰局部变量
局部变量被final修饰之后,局不能被修改
5、final修饰成员变量
成员变量被final修饰之后,局不能被修改