java
wangjjh
这个作者很懒,什么都没留下…
展开
-
java重载
java的重载可以通过方法名称和参数来区分,但是是否可以通过返回值来区分呢,这个可以大家有的时候难以区分,答案当然是不可以的,解释如下: 有两个方法: String m(); m(); 如果在String s=m();这个方法中时很容易区分的;还是上面的两个方法,如果这样调用:m();这个种情况下,是无法区分的,因此,java是不支持通过返回值来区分重载的。原创 2012-12-23 22:58:50 · 256 阅读 · 0 评论 -
java 初始化
java中在初始化数组列表的时候,列表中的最后一个逗号是可有可无的 例如:int[] arr={1,3,4,};或者int[] arr={1,3,4};原创 2012-12-23 23:44:12 · 166 阅读 · 0 评论 -
java中继承的初始化过程
假设有这样的继承场景(如下面代码所示): 父类: package com.java.test.multiflex; public class Insect { private int i = 9; protected int j; Insect() { System.out.println("i=" + i + ",j+" + j); j = 39; } pri原创 2012-12-25 23:56:09 · 195 阅读 · 0 评论 -
枚举(Enum)中的values()方法揭秘
使用过枚举的人都知道,可以通过次方法可以获取到所有的实例,但是仔细看看Enum类,这里面实际上是没有value()方法的,但是为什么可以调用呢? 原因:values()方法是由编译器添加上的static方法,在创建类的过程中就添加了此方法,供我们使用,所以我们是可以直接调用此方法的。原创 2013-01-09 22:39:22 · 1805 阅读 · 0 评论 -
java中的volatile的用法
在JVM1.2之前,Java的内存模型实现总是从主存读取变量,是不需要进行特别的注意的。而随着JVM的成熟和优化,现在在多线程环境下volatile关键字的使用变得非常重要。 在当前的Java内存模型下,线程可以把变量保存到本地内存(比如机器的寄存器)中,而不是直接在主存中进行读写。这就可能造成一个线程在主存中修改了一个变量的值,而另外一个线程还继续使用它在寄存器中的变量值的拷贝,造成数据的不一转载 2013-01-31 21:50:17 · 195 阅读 · 0 评论