您的位置:首页 > 编程语言 > Java开发

浅谈Java中final与static

2016-04-07 17:57 405 查看
final:

final的三个基本概念:1、被final修饰的类不能被继承。2、被final修饰的方法不能被重写。3、被final修饰的变量不可以被修改。

*这里的变量不可以被修改是指变量的引用,而非变量的内容。

比如说:

public class Test

{

public static void main(String[] args)

{

final FinalString fs = new FinalString("1");

fs.setStr("2");

System.out.println(fs.getStr());

}

}

这段代码是不报错的,可以正常运行。而:

public static void main(String[] args)

{

final FinalString fs = new FinalString("1");

final FinalString fss = new FinalString("333");

fs = fss;

}

会报错。

static:

static的基本用法是:1、被static修饰的变量属于类变量,可以用类名.变量名直接引用,不用再new一个类。2、被static修饰的方法属于类方法,可以直接用类名.方法名直接引用,不用再new一个类。

常问的问题:1、静态方法可不可以引用静态资源。2、静态方法可不可以引用非静态资源。3、非静态方法可不可以引用静态资源。

静态资源是类在初始化时加载的,而非静态资源是在类new的时候加载的。类的初始化要早于new,因此对于上述的问题:1、静态方法可以引用静态资源。2、静态方法不可以引用非静态资源。3、非静态方法可以引用静态资源。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: