文档章节

static final域和final域的区别

 恒者
发布于 2013/12/30 19:02
字数 243
阅读 39
收藏 0
点赞 0
评论 0
package staticfinaldemo;
import java.util.Random;
public class StaticFinalDemo {
    private static Random random = new Random(20);
    private static final int i1 = random.nextInt(10);
    private final int i2 = random.nextInt(10);
    private String id;
    public StaticFinalDemo(String id){
        this.id = id;
    }
    public String toString(){
        return id + ": i1 = " + i1 + " i2 = " + i2;
    }
    public static void main(String[] args){
        System.out.println("创建第一个StaticFinalDemo:");
        StaticFinalDemo staticFinalDemo = new StaticFinalDemo("no1");
        System.out.println(staticFinalDemo);
        System.out.println("创建第二个StaticFinalDemo:");
        StaticFinalDemo staticFinalDemo2 = new StaticFinalDemo("no2");
        System.out.println(staticFinalDemo);
        System.out.println(staticFinalDemo2);
    }
}

运行结果:

创建第一个StaticFinalDemo:
no1: i1 = 3 i2 = 6
创建第二个StaticFinalDemo:
no1: i1 = 3 i2 = 6
no2: i1 = 3 i2 = 1

由此可知:

定义为final,说明它是一个常量;

定义为static,说明它是一个属于类的常量(使用final修饰),为该类所有对象共享,且在类装载时初始化,而不是每次创建新对象时都初始化。

i1和i2是运行时常量,因为是运行产生的随机数来初始化它们的。

而编译时常量一般是基本数据类型,且常量定义时要赋初值。



© 著作权归作者所有

共有 人打赏支持
粉丝 10
博文 25
码字总数 38957
作品 0
武汉
Java中final与static的使用

Final关键字 根据使用环境不同,final的含义会有细微的区别,但通常是指无法改变的内容。final关键字可以修饰变量、方法和类。 Final变量 final数据是用来向编译器告知变量是恒定不变的。对使...

徐涛
2013/06/26
0
0
static和final的区别

1.final定义的变量可以看做一个常量,不能被改变;final定义的方法不能被覆盖;final定义的类不能被继承。final static 就是再加上static的特性就可以了 2.static 是在内存中分配一块区域,供...

Grovvy
2012/04/15
0
0
《JAVA编程思想》学习笔记——第七章 复用类

复用类的主要方式有两种:组合,继承 组合 例: class A {} class B {A a;} 继承 继承是所有OOP语言和Java语言不可缺少的组成部分。当创建一个类时,总是在继承,因此,除非已明确指出要从其...

lixiaocheng18
2017/02/06
0
0
java的接口、类、属性、方法各有哪些修饰符

参考博客:http://blog.csdn.net/cao_tao199612/article/details/7458245 1、 接口的修饰符只有:public 2、 类的修饰符分为:可访问控制符和非访问控制符两种。 可访问控制符是:公共类修饰符...

yong230
2014/08/04
0
0
private,protected可否用于修饰类?

Java修饰符 一、类的修饰符分为:可访问控制符和非访问控制符两种。 可访问控制符是:公共类修饰符public。 非访问控制符有:抽象类修饰符abstract;最终类修饰符final。 1、公共类修饰符pub...

天蚕宝衣
2016/04/14
1K
0
《Thinking in Java》Seven 复用类

组合:在一个新类中创建另一个已有类的对象。 继承:是所有OOP语言不可缺少的组成部分,会自动得到基类中所有的域和方法,extends package sixth; class Art{ Art(){System.out.println("JiL...

DouDouLee
2016/04/03
79
0
《java编程思想》学习笔记——复用类

1、复用类的两种方法 (1)只需在新的类中产生现有类的对象。由于新的类是由现有类的对象所组成,所以这种方法称为组合。该方法只是复用了现有程序代码的功能,而非它的形式。 (2)第二种方...

一个yuanbeth
2017/10/31
0
0
Java核心技术 卷I 第四章

对象与类 GregorianCalendar 日历对象 Date 时刻 final。如果将字段(非静态)设置为final则必须保证每个构造器执行完后,这个字段的值都会被设置,并且在后面的操作中不会被修改。 常用的Sys...

第四单元
2017/10/28
0
0
java并发编程实战------阅读笔记第三章

1、不要在构造过程中使this引用逸出。当且仅当对象的构造函数返回时,对象才处于可预测和一致的状态,当从对象的构造函数中发布对象时,只是发布了一个尚未构造完成的对象。只有当构造函数返...

treenewtreenew
2016/11/01
2
0
获取Class对象引用的两种方法

今天重新翻阅Thanking in java。发现通过类字面常量获得Class对象的引用和Class.forName()方式有些区别。特记录下。 http://bbs.itheima.com/thread-23776-1-1.html?fstgj 以前的学习网站,-...

夜默
2013/06/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

217. Contains Duplicate - LeetCode

Question 217. Contains Duplicate Solution 题目大意:判断数组中是否有重复元素 思路:构造一个set,不重复就加进去,重复返回true,如果数据量大的话,可以用布隆过滤器 Java实现: publ...

yysue
8分钟前
0
0
istio 处理失败

Envoy提供了一套开箱即用的选择加入故障恢复功能,可以通过应用程序中的服务进行利用。功能包括: 超时 具有超时预算和重试之间的可变抖动的有界重试 限制并发连接数和对上游服务的请求 对负...

xiaomin0322
9分钟前
0
0
eclipse解决git冲突举例

本地修改了两个文件,提交时提示有冲突,想来应该是没有从远程仓库下载最新代码导致的。通过右击项目 -> Team -> Sychronized WorkSpace,比较本地仓库和远程仓库的异同:   此时没有更好的...

Code辉
18分钟前
0
0
运行.jar后缀的文件

前提必须安装了jdk,正确配置环境变量。 在dos窗口执行以下命令即可。 java -jar C:\Users\10492\Desktop\turn.jar

haha360
21分钟前
0
0
Java程序员如何做代码压力测试?【JWordPress前台项目实战】

代码 pom.xml文件引入包 <dependency><groupId>com.taobao.stresstester</groupId><artifactId>stresstester</artifactId><version>1.0</version></dependency> 编写测试代码 /**......

迷你芊宝宝
25分钟前
0
0
面试宝典-什么是缓存穿透?

缓存穿透是说收到了一个请求,但是该请求缓存里没有,只能去数据库里查询,然后放进缓存。 这里面有两个风险,一个是同时有好多请求访问同一个数据,然后业务系统把这些请求全发到了数据库;...

suyain
31分钟前
0
0
vue基础知识练习2

一、发送AJAX请求 <div id="demo1"><button @click="send">发送AJAX请求</button><button @click="sendGet">GET方式发送AJAX请求</button><button @click="sendPost">POST方式发送A......

一个yuanbeth
33分钟前
0
0
Xamarin Essentials教程磁力计Magnetometer

Xamarin Essentials教程磁力计Magnetometer 磁力计也叫地磁、磁感器,可用于测试磁场强度和方向。在手持设备中,通过磁力计可以计算设备的左右、前后倾斜角度,广泛应用于手机各种的应用中。...

大学霸
37分钟前
0
0
mesos:Authentication timed out

最近当slave开始慢慢部署异地集群的时候又碰上了这个问题 I0717 10:27:11.695762 28852 slave.cpp:895] New master detected at master@192.168.2.161:5050I0717 10:27:11.695811 28852 sl......

xueyi28
44分钟前
0
0
赋予用户库的读写权限

1、创建用户 CREATE USER 'test'@'%' IDENTIFIED BY '15ht46389012t'; #'%' - 所有情况都能访问;‘localhost’ - 本机才能访问;’192.168.1.2‘ - 指定 ip 才能访问 2、赋予权限 grant al...

xixingzhe
45分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部