j2se关键又容易被忽视总结

本文详细解析了Java中的final、synchronized、static等关键字的作用与用法,并介绍了enum枚举类型的多种应用方式,同时还解答了一些常见的Java面试题,如字符串对象的创建数量及switch语句的使用范围。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 final:
1、final成员变量  
      当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变,但引用变量所指向的对象中的内容还是可以改变的。
2、fianl函数不能被重写
3、final类不能被继承了(final类为最终类)

二、synchronized
        当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。
    一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。

     二、然而,当一个线程访问object的一个synchronized(this)同步代码块时,另一个线程仍然可以访问该object中的非synchronized(this)同步代码块。

     三、尤其关键的是,当一个线程访问object的一个synchronized(this)同步代码块时,其他线程对object中所有其它synchronized(this)同步代码块的访问将被阻塞。

     四、第三个例子同样适用其它同步代码块。也就是说,当一个线程访问object的一个synchronized(this)同步代码块时,它就获得了这个object的对象锁。结果,其它线程对该object对象所有同步代码部分的访问都被暂时阻塞。

     五、以上规则对其它对象锁同样适用.
http://www.cnblogs.com/GnagWang/archive/2011/02/27/1966606.html ;
三、static关键字
http://zhangjunhd.blog.51cto.com/113473/20280/
http://www.cnblogs.com/wodepp2011/archive/2011/06/29/2151302.html
四、enum 枚举
 Java 枚举7常见种用法:
 常量 、 switch(JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。)、
 向枚举中添加新方法、覆盖枚举的方法、实现接口、使用接口组织枚举、枚举集合的使用
 http://www.iteye.com/topic/1116193


 五、transient关键字

 六、String s = new String("xyz");创建了几个String Object?
       两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。
七、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
        switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。
八、 Java 对象初始化顺序
    http://www.blogjava.net/xiaodaoxiaodao/archive/2007/06/06/122383.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值