首页 > 编程 > Java > 正文

4 java final 变量 | 变量即是final 又是static | 引用类型与基本数据类型 | Exception相关

2019-11-08 02:18:33
字体:
来源:转载
供稿:网友

final 类?最终类,不能有子类。

final 方法?方法不能被重写(override)

final 变量?常量,变量值不能被更改

public class Test{	PRivate final int a;	private String name;	public Test(){		a = 3;	}	pubilc Test(String name){		this.name = name;	 } }可否编译通过?

无法编译通过,会提示a尚未初始化。要在所有的构造方法中对final变量进行赋值。

对于final类型的成员变量的初始化方式:

1,声明变量时直接赋值。

2,在构造方法中赋值。若有多个构造方法,要保证在每一个构造方法中完成对final变量初始化工作。

变量a即使final 又是static?

public class Test{	private static final int a;	private String name;	public Test(){		a = 3;	}	pubilc Test(String name){		this.name = name;	 } }则必须在声明的时候就赋值,否则会编译通不过。

---------------------

pubilc class Test2{	public static final StringBuffer s = new StringBuffer();	public static void main(String[] arge){		s.append("hello");	 } }可以编译通过

对于final类型的引用变量来说,所谓的不能改变指的是该引用不能改变。

---------------

public class ExceptionTest{	public static void main(String[] args){		try{			String s = null;			return ;		 }catch(Exception ex){			System.out.println("exception");		 }finally{			System.out.println("finally");		 }	 } }程序可以编译通过。

异常执行流程:如果return有finally的话,会在return之前执行finally语句块内容。

只有一种情况不会去执行finally就是try中有System.exit(0); 则不会去执行finally。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表