J2SE综合:对Final的一点认识

在编程的过程中,我们总是会遇到final关键字,那么我们对final怎么理解呢,下面是我的一点粗浅认识,和大家共享。

package zy.pro.jbd.demo;
public class FinalDemo {
final  int  numInt1=16;
final String str="zy";
final String str1;

注意:str1在此没有初始化,那么必须要在构造函数中初始化,否则要报错。也就是说,final变量必须要进行初始化。

public FinalDemo() {
str1="zy";
}
public static void main(String[] args){
System.out.println("-------------------------------------------------");
}
public void executeFinalTest(){
}
private void testFinalInt(){
numInt1+=1;

上面,我们定义了numInt1为final变量,在次将会出现一个错误:cannot assign a final value to final variable numInt1 at line 24

由此可见,如果一个基本型别的变量被定义成了final,那么此变量将不能再被改变。

System.out.println(numInt1);
}
private void testFinalString(){
str=str+"aaaaa";

此处同样也会报错。

System.out.println(str);
}
}

我们再作一个测试:

(1)先创建一个类:A.java

package zy.pro.jbd.testbase;
public class A {
int t=10;
public A() {
}
public void setT(int t){
this.t=t;
}
public int getT(){
return this.t;
}
}
  (2)写如下测试代码

final A a = new A();
public void testFinalObject() {
a.setT(29);
System.out.println("t:   " + a.getT());
}

测试输出的结果是:

t:   29

时间: 2024-10-19 05:38:48

J2SE综合:对Final的一点认识的相关文章

J2SE综合之浅谈String类的相关应用

字符串类,包含了字符串的值和实现字符串相关操作的一些方法. 其实字符串在java中的实现比较特殊,你可以不使用构造方法,就可以直接获得一个字符串对象. String str1 = "test";//不使用构造方法 String str2 = new String("test");//使用构造方法 实际上以上两者的效果是相同的,就是创建了一个内容为"test"的字符串. 下面我们来说一下String类本身的特性. 首先需要注意到的是String是一

J2SE综合-关于字符串的一些处理技巧

这是本人与同事在工作中对字符串处理的总结,发表出来,希望对大家有些帮助,也希望大家给予指正,谢谢!~ import java.util.*: /** * 文件标题: *关于字符串的一些处理方法: * @版本 1.0 */ public class StringUtil { public StringUtil() { } /** * @description 字符串替代函数 * @param source String 源字符串 * @param be_rep_str String 需要被替换的子

J2SE综合:关于private构造函数

看下面的类: HibernateSessionFactory.java package zy.pro.wd.util; import net.sf.hibernate.HibernateException; import net.sf.hibernate.Session; import net.sf.hibernate.cfg.Configuration; /** * Configures and provides access to Hibernate sessions, tied to th

J2SE综合:彻底理解JavaHelp结构的好处

Sun微系统的JavaHelp系统是一种应用程序帮助技术,它可以在所有支持Java的平台和浏览器中运行只要它是一个纯粹的Java产品.通过applet和Java应用程序,在其他环境下,比如在互联网或企业内部互联网中,它是理想的使用对象.在本文中,我将回顾JavaHelp的主要作用,并阐明它的简单使用方法. 优点 JavaHelp通过使用Java基础类(JFC) 软件组件来实现,这使得开发户自定义界面和功能变得灵活轻松.您可以轻而易举地将应用程序的帮助信息嵌入到应用程序之中,或者嵌入到另一个独立的

J2SE综合:浅谈java程序发布之jre篇

Java开发程序,发布时总要考虑的问题就是怎么在使用者的机器上装好JRE.要考虑的问题很多:使用者有没有能力独自安装JRE,使用者已有的 JRE 和我们需要的版本是不是一致,会不会出现版本问题,等等.使用.NET要考虑的问题就少些.现在.NET CLR似乎已经很普及了,看好多D版的 Win XP都会自己安装最新的.NET CLR,而且似乎它的安装界面也比JRE友好些.彻底解决安装JRE的问题的方案,就是让我们的应用程序自己背着JRE!这样,我们的程序就像传统的Win32应用程序一样,双击就可以执

J2SE综合:属性配置文件的使用方法

我们常常使用配置文件来进行工程属性的配置,那么我们如何使用我们的属性文件呢? 假设有一个连接数据库的属性配置文件jdbc.properties, 文件内容如下: jdbc.driver=com.microsoft.jdbc.sqlserver.SQLServerDriver jdbc.url=jdbc:microsoft:sqlserver://10.0.0.168:1433; jdbc.username=sa jdbc.password=sa jndi.databaseName=northwi

J2SE综合:使用条件运算符的阵痛

一.案例编号: U02C09 二.案例名称: 使用条件运算符的阵痛 三.关键词: 条件运算符.三目运算符.三元运算符.类型转换 四.案例情景描述: 条件运算符有三个操作数.它的形式是:boolean-exp?exp1:exp2.它首先计算boolean表达式的值,如果为true那么整个表达式的值就是表达式exp1的值,如果boolean表达式的值为false,那么整个表达式的值就是exp2的值. intk=(2>3)?23:45;因为boolean表达式2>3为false,所以k的值是45.

J2SE综合:两种Java容器类List和Set分析

容器类可以大大提高编程效率和编程能力,在Java2中,所有的容器都由SUN公司的Joshua Bloch进行了重新设计,丰富了容器类库的功能. Java2容器类类库的用途是"保存对象",它分为两类: Collection----一组独立的元素,通常这些元素都服从某种规则.List必须保持元素特定的顺序,而Set不能有重复元素. Map----一组成对的"键值对"对象,即其元素是成对的对象,最典型的应用就是数据字典,并且还有其它广泛的应用.另外,Map可以返回其所有键

J2SE 5.0专题 之 语言特性

j2se J2SE 5.0专题 之 语言特性                         本文作者: 高宇翔(大胃) 1.1.        背景J2SE(TM) 5.0正式发布至今已超过3个月的时间了,就在前不久,大概是在两周之前,Sun又发布了更新过的JDK 5.0 Update 1,改掉了一些第一个版本中出现的bug. 由于Java社群等待这一从1.4向5.0版本升级已经有相当长的一段时间,大家都很关心5.0中有哪些值得关注的变化,于是blog的相关信息满天飞,我也兴冲冲地在自己的bl