Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

So sánh từ khóa static trong C++ và Java


static data member: giống nhau - thuộc về class, chia sẻ cho mọi object.

Ví dụ C++

class Test { public: static int count; Test(){count++;} };
int Test::count = 0; // định nghĩa ngoài class

Ví dụ Java

class Test { static int count = 0; Test(){count++;} }

static member function: giống nhau - chỉ truy cập static member, không có this.

Khác biệt:

  • Java có static block (static initializer) chạy một lần khi load class. C++ không có.
  • C++ cho phép static local variable trong hàm (khởi tạo một lần, giữ giá trị giữa các lần gọi). Java không hỗ trợ static local variable.