1.final不可变:
1.当final修饰类的时候,表示类不可被继承
2.当final修饰变量的时候,表示变量的内存地址不可更改(必须有初始值)
3.当final修饰方法的时候,表示方法不可被重写
被final修饰的变量必须有初始值。
问:抽象类可不可以被定义为final?抽象方法可不可以被定义为final?String能不能被继承?
被final修饰的变量是值不可改变还是引用不能改变?
2.static(无需实例):
2.1静态变量在内存当中仅仅保存一份(无论产生多少实例)
2.2静态变量无需产生实例即可引用(引用的格式是 类名称.属性名称)
2.3静态方法无需产生实例即可被调用(调用的格式是 类名称.方法名称(..))
2.4静态代码块 在类加载时执行,并且只执行一次(例如读取Excel的内容 )
静态块的执行时间是类加载(读取)的时候。一般会执行一些类的初始化工作。
构造代码块 ,在执行构造方法之前,静态块之后,每构造一次,执行一次
问:静态的方法能不能引用非静态的变量?
非静态的方法能不能引用静态的变量?
静态方法能不能用this关键字?
访问属性和方法:
2.1非静态
类名称 对象名称 = new 类名称();
对象名称.属性名称
对象名称.方法名称()
2.2静态
类名称.变量名称
类名称.方法名称()