http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/Console.htm
加一行:要注意的是,以javaw所执行的应用程式,没有主控台(Console),也就取不到Console物件(例如在Eclipse中)。
http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/AbstractClass.htm

如果一个方法中包括了抽象方法,则该类别称之为“抽象类别”(Abstract class)

改为:

如果一个类别中包括了抽象方法,则该类别称之为“抽象类别”(Abstract class)
http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/Package.htm

介面的权限都是"public",所以即使不指定public仍是预设为public,例如下例与上例是相同的:
interface IRequest {
void execute();
}

改为:

介面的方法权限预设都是"public",所以即使方法宣告时不指定public仍是预设为public,例如下例与上例是相同的:

public interface IRequest {
void execute();
}
主 控台输入格式控制 改成 主 控台输出格式控制
http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/ProtectedMember.htm

如果在定义成员时没有设定任何的存取修饰,则为预设(default)的存取权限,预设存取权限可以在同一个套件(package)中的其它类别直接存取,但在子类别中不能被直接存取。

改为:

如果在定义成员时没有设定任何的存取修饰,则为预设(default)的存取权限,预设存取权限可以在同一个套件(package)中的其它类别直接存取。

http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/ObjectClass.htm

改了一下equals()那边的描述...
http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/BoxingCarefully.htm
事实上,当您写:

Integer i = 100;

编译器真正会将之转换为:
Integer i = Integer.valueOf(100);

valueOf()方法会将-128到127的值放到快取之中,以重复使用,这可以查看Integer.java的原始码得知:
public static Integer valueOf(int i) {
    final int offset = 128;
    if (i >= -128 && i <= 127) { // must cache
        return IntegerCache.cache[i + offset];
    }
        return new Integer(i);
}

http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/OverRide.htm
public class SubOther {
    public SomeImpl doSomething() {}
}

改为

public class SubOther extends Other {
    public SomeImpl doSomething() {}
}


JAVA(上) -> 取得使用者输入

中间的(实际上,这是 Decorator 模式 的一个应用)。 Decorator的连结错误。

应为 http://caterpillar.onlyfun.net/Gossip/DesignPattern/DecoratorPattern.htm
使用类别(Class)定义物件

您可以透过公开成员来操作物件或取得物件资讯,方法是使用物 件名称加上“.”运算子,例如:
ball1.getRadius(0.1);
ball1.setName("GBall");

您可以透过公开成员来操作物件或取得物件资讯,方法是使用物 件名称加上“.”运算子,例如:
ball1.getRadius();
ball1.setName("GBall");
增加 Object 类别 的内容。
foreach与阵列断言(Assertion)加了一 些东西…
重新定义(Override)方法建构方法(Constructor)关于 static 成员型态通配字元 加了一些东西…

新增 使用 Console 物件 - JDK 6 、 Arrays 的copyOf() - JDK 6
新增 … 预 设建构子
只是修改首页的标题。。。XD
新增一篇:
http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/InterfaceMultiInheritance.htm
http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/SplitString.htm
上 面的 StringSplit 有 String[] tokens = strOfReaded1.split("\t");
下面的 StringSplit 没有 String[] 只有 tokens = strOfReaded2.split(",");

http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/ThrowThrows.htm
新增:

如果使用继承时,在父类别的某个方法上宣告了throws某些例外,而在子类别中重新定义该方法时,您可以:

但是您不可以:

http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/InnerClass.htm
新增:
被宣告为static的内部类别,事实上也可以看作是另一种名称空间的管理方式,例如:
public class Outer {
    public static class Inner {
        ....
    }
    ....
}

您可以如以下的方式来使用Inner类别:
Outer.Inner inner = new Outer.Inner();
http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/ProtectedMember.htm
新增:
事实上,对于同一个 套件(package) 下的类别,可以直接呼叫彼此的protected成员,而对于不同套件(package)下的成员,不能呼叫彼此的protected成员。

新增 权限修饰与存取限制 。。。
新增 断言(Assertion) 。。。

http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/ProtectedMember.htm
新增:
如果在定义成员时没有设定任何的存取修饰,则为预设(default)的存取权限,预设存取权限可以在同一个 套件(package) 中的其它类别直接存取,但在子类别中不能被直接存取。

http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/OverRide.htm
新增:
注意!您无法重新定义static方法,一个方法要被重新定义,它必须是非static的,如果您在子类别中定义一个有同样签署(signature)的 static成员,那不是重新定义,那是定义一个属于该子类别的static成员。

http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/FinalKeyword.htm
新增:
如果在资料成员上加上final关键字,但未给予该资料成员初值,则初值的初始化被延迟,该资料成员必须在建构方法中进行初始化,且初始化之后不得改变其 值,例如:
public class SomeClass {
    private final int some;

    public SomeClass() {
        some = 10; // 也可以是一个运算式,或是方法的传回值
    }

    ....
}

http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/Package.htm
新增:
如果定义类别成员时没有指定public、protected或private的存取修饰,则为预设(Default)权限,成员将只能于同一个 package中被直接存取,通常称之为package-friendly或package-private,且该成员将无法于子类别中被直接存取。
将一些地方的字型改为Courier,应该比较好看 吧!。。。:)
http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/ObjectClass.htm
加入以下的描述:
可以参考API文件中Object类别的hashCode()之建议:
http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/FirstJava.htm
加入一行:
关于main方法的说明,您还可以参考 The main method
http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/RegularExpression.htm
UseRegularExpression.java中。。。
 // 验证电子邮件格式 
if(str.matches(
"^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$"))
System.out.println("格式正确");

改为
// 验证电子邮件格式
if(str.matches(
"^[_a-z0-9-]+([.][_a-z0-9-]+)*@[a-z0-9-]+([.][a-z0-9-]+)*$"))
System.out.println("格式正确");


http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/LogicalBitwiseOperator.htm 中。。。

在位元运算上,Java还有左移(< <)右移 (>>)两个运算子,左移运算子会将所有的位元往左移指定的位 数,左边被挤出去的位元会被丢弃,而右边会补上0;右移运算则是相反,会将所有的位元往右移指定的位数,右边被挤出去的位元会被丢弃,至于左边位元补0或 补1 则不一定,视系统而定。

改为

在位元运算上,Java还有左移(< <)右移 (>>)两个运算子,左移运算子会将所有的位元往左移指定的位 数,左边被挤出去的位元会被丢弃,而右边会补上0;右移运算则是相反,会将所有的位元往右移指定的位数,右边被挤出去的位元会被丢弃,至于左边位元补0或 补1 则视最左边原来的位元而定,如果原来是0就补0,是1就补1,您还可以使用>>>运 算子,这个运算子在右移后一行在最左边补上0。
http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/AutoBoxingUnBoxing.htm

在运算时,也可以 自动装箱与拆箱,例如:

Integer i = 10;
System.out.println(i + 10);
System.out.println(i++);


上例中 会显示2021,应 该答案是20 and 10