Tôi có một lớp đơn.Truy cập các trường đơn lẻ qua phương thức tĩnh
Khi truy cập các phương thức của lớp, tôi có thể chọn hai khả năng.
- Tạo các phương pháp đó như ví dụ cụ thể và sau đó nhận được những ví dụ và gọi họ
- Tạo các phương pháp đó như tĩnh và gọi họ và họ sẽ nhận được dụ
Ví dụ:
Class Test{
private int field1;
Test instance;
private Test(){};
private Test getInstance(){
if (instance == null)
instance = new Test();
return instance;
}
public int method1() { return field1;}
public static int method2() {return getInstance().field1;}
}
Hiện tại, ở nơi khác tôi có thể viết
int x = Test.getInstance().method1();
int y = Test.method2();
Điều nào tốt hơn? Tôi có thể nghĩ đến giải pháp thay thế thứ 3 nơi tôi sử dụng "cá thể" trực tiếp trong phương thức tĩnh và sau đó chụp ngoại lệ nếu nó là rỗng và khởi tạo nó và sau đó gọi lại chính nó.
Tôi có thể, về lý thuyết, chỉ làm cho toàn bộ quá trình tĩnh. Tuy nhiên, điều này sẽ tạo ra cho tôi các vấn đề khi lưu trạng thái ở gần hoạt động vì việc tuần tự hóa không lưu tĩnh.
Tôi sẽ đi với 'Test.method2();' vì nó chuyển tải thực tế là 'method2()' là một phương thức tĩnh. – TheVillageIdiot