JAVA中关于静态static和final

来源:互联网 发布:小众软件网 编辑:程序博客网 时间:2024/06/05 09:38

以前一直没搞清这两者是干嘛的,都是编译器要加就加上去,现在好好梳理一下。

static可以修饰方法和变量

修饰方法代表这个类是静态的方法,静态的含义实际上就是不需要知道这个类去实例化,不用知道实例变量,只通过静态方法的入参或者静态变量来实现功能。

因此实现的时候,不能在方法里使用非静态变量,调用静态方法是 类名.静态方法名

public class Adult extends Human{
static int sextimes=10;


public static int Getsex(){
return sextimes;
}


public void ToSex(){
System.out.println(sextimes);
}
}

例如这个例子,可以直接通过Adult.Getsex去执行,而非静态的方法则不能用Adult.Tosex执行


修饰变量的时候,代表这个变量是属于这个类的,每个实例都可以共享。例如Adult.sextimes

非静态的方法也可以调用静态变量。


final

当修饰变量时,代表变量不可修改

修饰方法时,代表方法不可覆盖

修饰类时,代表类不能被继承


另外修饰了final的类中的变量是可以被修改的。

若想类的所有方法都不可覆盖,直接对类修饰final。

若想部分方法不可覆盖,则类不用修饰,只修饰里面的部分方法即可。

0 0
原创粉丝点击