1 在繼承中,比如
class a
void show()
class b extends a
static void show() {} //這裡是錯誤的,因為繼承的時候,父類的非靜態方法,不能在子類中被覆蓋為靜態方法.
2 class a
int i;
a(int i)
this.i=i*2;
class b extends a
public static void main(string args)
b b=new b(2);
b(int i)
system.out.println(i);
其中,本例中由於子類b繼承a,在子類的建構函式執行時,如果沒在子類中顯式指定呼叫父類的某個構造器,會首先執行父類的無引數建構函式,但a類中沒這樣的函式,所以發生編譯錯誤.因此可以加上super(2);
3 a 靜態方法不能訪問例項(非靜態)變數
int x=12;
static void a()
輸出x;//錯誤
b 靜態方法不能訪問非靜態方法
void go()
static void domore()
go();
c 靜態方法能訪問景泰方法或變數
static int x;
static void a()
static void b()
是錯誤的
5 靜態方法中也不能有super關鍵字,因為super是跟具體的類的例項有關,跟static相矛盾.
java oop部分的一些小結1
1 在繼承中,比如 class a void show class b extends a static void show 這裡是錯誤的,因為繼承的時候,父類的非靜態方法,不能在子類中被覆蓋為靜態方法.2 class a int i a int i this.i i 2 class b exten...
nginx fast cgi 一些小結
fpm children make line 352 child 20477 pool default started fpm event loop line 105 libevent entering main loop 的解決方案 這個問題是系統最大開啟檔案數與php fpm設定不一樣所致 1....
Perl Perl module的一些小結
perl module 關於perl module改如何使用,如何編寫,現在初步有一些膚淺的體會,總結如下 1.如何引用不在系統預設路徑中的module?方法1 使用lib use lib qw your path to module 貌似這幾乎等價於begin 方法2 修改 inc begin u...