abstract class Name {
private String name;
public abstract boolean isStupidName(String name) {}
}
榪愯閿欒鎻愮ず錛?BR>
C:\Documents and Settings\wangzengwei>javac E:\myprogram\problem\Name.java
E:\myprogram\problem\Name.java:3: 鎶借薄鏂規硶涓嶈兘鏈変富浣?BR> public abstract boolean isStupidName(String name) {}
^
1 閿欒
C:\Documents and Settings\wangzengwei>javac E:\myprogram\problem\Name.java
E:\myprogram\problem\Name.java:4: 闇瑕?nbsp;';'
}
^
1 閿欒
C:\Documents and Settings\wangzengwei>javac E:\myprogram\problem\Name.java
澶т緺浠紝榪欐湁浣曢敊璇?
絳旀: 閿欍俛bstract method蹇呴』浠ュ垎鍙風粨灝撅紝涓斾笉甯﹁姳鎷彿銆?BR>2.婧愮爜錛?BR>
public class Something {
void doSomething () {
private String s = "";
int l = s.length();
}
}
榪愯閿欒鎻愮ず錛?BR>
E:\myprogram\problem>javac Something.java
Something.java:3: 闈炴硶鐨勮〃杈懼紡寮濮?BR> private String s = "";
^
1 閿欒
E:\myprogram\problem>javac Something.java
鏈夐敊鍚?
絳旀: 閿欍傚眬閮ㄥ彉閲忓墠涓嶈兘鏀劇疆浠諱綍璁塊棶淇グ絎?(private錛宲ublic錛屽拰protected)銆俧inal鍙互鐢ㄦ潵淇グ灞閮ㄥ彉閲?BR>(final濡傚悓abstract鍜宻trictfp錛岄兘鏄潪璁塊棶淇グ絎︼紝strictfp鍙兘淇グclass鍜宮ethod鑰岄潪variable)銆?BR>3.婧愮爜錛?BR>
abstract class Something1 {
private abstract String doSomething ();
}
榪愯閿欒鎻愮ず錛?BR>
E:\myprogram\problem>javac Something1.java
Something1.java:2: 闈炴硶鐨勪慨楗扮緇勫悎錛?/SPAN>abstract 鍜?nbsp;private
private abstract String doSomething ();
^
1 閿欒
榪欏ソ鍍忔病浠涔堥敊鍚?
絳旀: 閿欍俛bstract鐨刴ethods涓嶈兘浠rivate淇グ銆俛bstract鐨刴ethods灝辨槸璁╁瓙綾籭mplement(瀹炵幇)鍏蜂綋緇嗚妭鐨勶紝鎬庝箞鍙互鐢╬rivate鎶奱bstract
method灝侀攣璧鋒潵鍛? (鍚岀悊錛宎bstract method鍓嶄笉鑳藉姞final)銆?BR>4.婧愮爜錛?BR>
public class Something2 {
public int addOne(final int x) {
return ++x;
}
}
榪愯閿欒鎻愮ず錛?BR>
E:\myprogram\problem>javac Something2.java
Something2.java:3: 涓嶈兘鎸囧畾鏈緇堝弬鏁?nbsp;x
return ++x;
^
1 閿欒
榪欎釜姣旇緝鏄庢樉銆?BR>絳旀: 閿欍俰nt x琚慨楗版垚final錛屾剰鍛崇潃x涓嶈兘鍦╝ddOne method涓淇敼銆?BR>5銆佹簮鐮侊細
public class Something3 {
public static void main(String[] args) {
Other o = new Other();
new Something3().addOne(o);
}
public void addOne(final Other o) {
o.i++;
}
}
class Other {
public int i;
}
鍜屼笂闈㈢殑寰堢浉浼鹼紝閮芥槸鍏充簬final鐨勯棶棰橈紝榪欐湁閿欏悧?
絳旀: 姝g‘銆傚湪addOne method涓紝鍙傛暟o琚慨楗版垚final銆傚鏋滃湪addOne method閲屾垜浠慨鏀逛簡o鐨剅eference
(姣斿: o = new Other();)錛岄偅涔堝鍚屼笂渚嬭繖棰樹篃鏄敊鐨勩備絾榪欓噷淇敼鐨勬槸o鐨刴ember vairable
(鎴愬憳鍙橀噺)錛岃宱鐨剅eference騫舵病鏈夋敼鍙樸?BR>6銆佹簮鐮侊細
class Something4 {
int i;
public static void main(String[] args) {
Something4 st4 = new Something4();
st4.doSomething();
}
public void doSomething() {
System.out.println("i = " + i);
}
}
榪愯緇撴灉濡備笅錛?BR>
E:\myprogram\problem>javac Something4.java
E:\myprogram\problem>java Something4
i = 0
鏈変粈涔堥敊鍛? 鐪嬩笉鍑烘潵鍟娿?BR>絳旀: 姝g‘銆傝緭鍑虹殑鏄?i = 0"銆俰nt i灞炴柤instant variable (瀹炰緥鍙橀噺錛屾垨鍙垚鍛樺彉閲?銆俰nstant variable鏈塪efault value銆俰nt鐨刣efault value鏄?銆?BR>7銆佹簮鐮?BR>
class Something5 {
final int i;
public void doSomething() {
System.out.println("i = " + i);
}
}
榪愯閿欒鎻愮ず錛?BR>
E:\myprogram\problem>javac Something5.java
Something5.java:1: 鍙兘灝氭湭鍒濆鍖栧彉閲?nbsp;i
class Something5 {
^
1 閿欒
鍜屼笂闈竴棰樺彧鏈変竴涓湴鏂逛笉鍚岋紝灝辨槸澶氫簡涓涓猣inal銆傝繖闅鵑亾灝遍敊浜嗗悧?
絳旀: 閿欍俧inal int i鏄釜final鐨刬nstant variable (瀹炰緥鍙橀噺錛屾垨鍙垚鍛樺彉閲?銆俧inal鐨刬nstant variable娌℃湁default value錛屽繀欏誨湪constructor (鏋勯犲櫒)緇撴潫涔嬪墠琚祴浜堜竴涓槑紜殑鍊箋傚彲浠ヤ慨鏀逛負"final int i = 0;"銆?BR>淇敼姝g‘鍚庣殑浠g爜錛?BR>
class Something5 {
final int i=0;
public static void main(String[] args) {
Something5 st5 = new Something5();
st5.doSomething();
}
public void doSomething() {
System.out.println("i = " + i);
}
}
榪愯緇撴灉濡備笅錛?BR>
E:\myprogram\problem>javac Something5.java
E:\myprogram\problem>java Something5
i = 0

]]>