前言
在更新Linkedkin 個人檔案的時候
偶然發現他有技術檢定測驗
如果總成績在前30%,會發給你技術認證徽章
如果第一次沒考過則可以重考
如果第二次也沒考過就要"等半年!!!"才能考第二次
個人感覺題目有點像OCA的考題,蠻適合正在學習Java觀念
或工作一段時間但沒深入研究Java的
如果有需要的人還請自行服用。
Qusestion:
Given this class, how would you make the code compile?
public class TheClass {
private final int x;
}
A.
public TheClass() {
x += 77;
}
B.
public TheClass() {
x = null;
}
C.
public TheClass() {
x = 77;
}
D.
private void setX(int x) {
this.x = x;
}
public TheClass() {
setX(77);
}
Answer:D
解析:
這題因為TheClass 裡的x屬性為 private,所以無法透過外部去直接更動他的值
如果初學者不懂的話
可以去google public protect private 各自的權限
故ABC選項全部都不能選~
D選項因為寫了一個setX()的方法,
Java中的 this表示 "這個class"
所以this.x 表示 這個class的x變數
也就是 private final int x ;