package heihei;
import heihei.animal.Animal;
public class Final修饰 {
public static class mytest {
static int c=100;//只可以作为全局变量
void myself() {
int b=20;
// System.out.println(20);
}
final void myself1() {//final修饰的不能继承
int a=10;
}
}
public static class son extends mytest{
void myself() {
int b=20;
System.out.println(20);
}
}
public static void test(mytest bb){
bb.myself();
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
son d=new son();
test(d);
System.out.println(mytest.c);//static修饰的全局变量可以直接引用
mytest aa=new mytest();
System.out.println(aa.c);
}
}
static关键字
- static关键字修饰的方法或者变量不需要依赖于对象来进行访问,可以通过类名去进行访问
- static是不允许用来修饰局部变量
作用:方便在没有创建对象的情况下来进行调用(方法/变量)
final关键字
- final是一个非访问修饰符
- 适用于变量,方法或类
作用:
当final修饰变量时,被修饰的变量必须被初始化(赋值),且后续不能修改其值,实质上是常量;
当final修饰方法时,被修饰的方法无法被所在类的子类重写(覆写);
当final修饰类时,被修饰的类不能被继承,并且final类中的所有成员方法都会被隐式地指定为final方法,但成员变量则不会变