C ++ trống int

public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
    private int id;
    private static int numberOfBicycles = 0;
        
    public Bicycle(int startCadence, int startSpeed, int startGear){
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        // increment number of Bicycles
        // and assign ID number
        id = ++numberOfBicycles;
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        ...
}
7

public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
    private int id;
    private static int numberOfBicycles = 0;
        
    public Bicycle(int startCadence, int startSpeed, int startGear){
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        // increment number of Bicycles
        // and assign ID number
        id = ++numberOfBicycles;
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        ...
}
8

Trong phần này, chúng ta thảo luận về việc sử dụng từ khóa

public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
    private int id;
    private static int numberOfBicycles = 0;
        
    public Bicycle(int startCadence, int startSpeed, int startGear){
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        // increment number of Bicycles
        // and assign ID number
        id = ++numberOfBicycles;
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        ...
}
9 để tạo các trường và phương thức thuộc về lớp chứ không thuộc về một thể hiện của lớp

Biến lớp

Khi một số đối tượng được tạo từ cùng một bản thiết kế lớp, mỗi đối tượng đều có các bản sao riêng biệt của các biến thể hiện. Trong trường hợp của lớp

public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
    private int id;
    private static int numberOfBicycles = 0;
        
    public Bicycle(int startCadence, int startSpeed, int startGear){
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        // increment number of Bicycles
        // and assign ID number
        id = ++numberOfBicycles;
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        ...
}
0, các biến thể hiện là
public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
    private int id;
    private static int numberOfBicycles = 0;
        
    public Bicycle(int startCadence, int startSpeed, int startGear){
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        // increment number of Bicycles
        // and assign ID number
        id = ++numberOfBicycles;
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        ...
}
1,
public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
    private int id;
    private static int numberOfBicycles = 0;
        
    public Bicycle(int startCadence, int startSpeed, int startGear){
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        // increment number of Bicycles
        // and assign ID number
        id = ++numberOfBicycles;
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        ...
}
0 và
public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
    private int id;
    private static int numberOfBicycles = 0;
        
    public Bicycle(int startCadence, int startSpeed, int startGear){
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        // increment number of Bicycles
        // and assign ID number
        id = ++numberOfBicycles;
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        ...
}
1. Mỗi đối tượng
public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
    private int id;
    private static int numberOfBicycles = 0;
        
    public Bicycle(int startCadence, int startSpeed, int startGear){
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        // increment number of Bicycles
        // and assign ID number
        id = ++numberOfBicycles;
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        ...
}
0 có các giá trị riêng cho các biến này, được lưu trữ ở các vị trí bộ nhớ khác nhau

Đôi khi, bạn muốn có các biến chung cho tất cả các đối tượng. Điều này được thực hiện với công cụ sửa đổi

public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
    private int id;
    private static int numberOfBicycles = 0;
        
    public Bicycle(int startCadence, int startSpeed, int startGear){
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        // increment number of Bicycles
        // and assign ID number
        id = ++numberOfBicycles;
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        ...
}
9. Các trường có công cụ sửa đổi
public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
    private int id;
    private static int numberOfBicycles = 0;
        
    public Bicycle(int startCadence, int startSpeed, int startGear){
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        // increment number of Bicycles
        // and assign ID number
        id = ++numberOfBicycles;
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        ...
}
9 trong khai báo của chúng được gọi là trường tĩnh hoặc biến lớp. Chúng được liên kết với lớp chứ không phải với bất kỳ đối tượng nào. Mỗi thể hiện của lớp chia sẻ một biến lớp, ở một vị trí cố định trong bộ nhớ. Bất kỳ đối tượng nào cũng có thể thay đổi giá trị của một biến lớp, nhưng các biến lớp cũng có thể được thao tác mà không cần tạo một thể hiện của lớp

Ví dụ: giả sử bạn muốn tạo một số đối tượng

public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
    private int id;
    private static int numberOfBicycles = 0;
        
    public Bicycle(int startCadence, int startSpeed, int startGear){
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        // increment number of Bicycles
        // and assign ID number
        id = ++numberOfBicycles;
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        ...
}
0 và gán cho mỗi đối tượng một số sê-ri, bắt đầu bằng 1 cho đối tượng đầu tiên. Số ID này là duy nhất cho mỗi đối tượng và do đó là một biến thể hiện. Đồng thời, bạn cần một trường để theo dõi có bao nhiêu đối tượng
public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
    private int id;
    private static int numberOfBicycles = 0;
        
    public Bicycle(int startCadence, int startSpeed, int startGear){
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        // increment number of Bicycles
        // and assign ID number
        id = ++numberOfBicycles;
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        ...
}
0 đã được tạo để bạn biết ID nào cần gán cho đối tượng tiếp theo. Một trường như vậy không liên quan đến bất kỳ đối tượng riêng lẻ nào, mà liên quan đến toàn bộ lớp. Đối với điều này, bạn cần một biến lớp,
public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
    private int id;
    private static int numberOfBicycles = 0;
        
    public Bicycle(int startCadence, int startSpeed, int startGear){
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        // increment number of Bicycles
        // and assign ID number
        id = ++numberOfBicycles;
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        ...
}
7, như sau

public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
        
    // add an instance variable for the object ID
    private int id;
    
    // add a class variable for the
    // number of Bicycle objects instantiated
    private static int numberOfBicycles = 0;
        ...
}

Các biến lớp được tham chiếu bởi chính tên lớp, như trong

Điều này làm rõ rằng chúng là các biến lớp


Ghi chú. Bạn cũng có thể tham khảo các trường tĩnh với một tham chiếu đối tượng như thế nhưng điều này không được khuyến khích vì nó không làm rõ rằng chúng là các biến lớp

Bạn có thể sử dụng hàm tạo

public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
    private int id;
    private static int numberOfBicycles = 0;
        
    public Bicycle(int startCadence, int startSpeed, int startGear){
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        // increment number of Bicycles
        // and assign ID number
        id = ++numberOfBicycles;
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        ...
}
0 để đặt biến đối tượng
public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
    private int id;
    private static int numberOfBicycles = 0;
        
    public Bicycle(int startCadence, int startSpeed, int startGear){
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        // increment number of Bicycles
        // and assign ID number
        id = ++numberOfBicycles;
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        ...
}
9 và tăng biến lớp
public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
    private int id;
    private static int numberOfBicycles = 0;
        
    public Bicycle(int startCadence, int startSpeed, int startGear){
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        // increment number of Bicycles
        // and assign ID number
        id = ++numberOfBicycles;
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        ...
}
7

public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
    private int id;
    private static int numberOfBicycles = 0;
        
    public Bicycle(int startCadence, int startSpeed, int startGear){
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        // increment number of Bicycles
        // and assign ID number
        id = ++numberOfBicycles;
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        ...
}

phương pháp lớp

Ngôn ngữ lập trình Java hỗ trợ các phương thức tĩnh cũng như các biến tĩnh. Các phương thức tĩnh, có công cụ sửa đổi

public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
    private int id;
    private static int numberOfBicycles = 0;
        
    public Bicycle(int startCadence, int startSpeed, int startGear){
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        // increment number of Bicycles
        // and assign ID number
        id = ++numberOfBicycles;
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        ...
}
9 trong khai báo của chúng, nên được gọi với tên lớp mà không cần tạo một thể hiện của lớp, như trong

ClassName.methodName(args)


Ghi chú. Bạn cũng có thể tham khảo các phương thức tĩnh với tham chiếu đối tượng như

________số 8

nhưng điều này không được khuyến khích vì nó không làm rõ rằng chúng là các phương thức của lớp

Một cách sử dụng phổ biến cho các phương thức tĩnh là truy cập các trường tĩnh. Ví dụ: chúng ta có thể thêm một phương thức tĩnh vào lớp

public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
    private int id;
    private static int numberOfBicycles = 0;
        
    public Bicycle(int startCadence, int startSpeed, int startGear){
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        // increment number of Bicycles
        // and assign ID number
        id = ++numberOfBicycles;
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        ...
}
0 để truy cập trường tĩnh
public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
    private int id;
    private static int numberOfBicycles = 0;
        
    public Bicycle(int startCadence, int startSpeed, int startGear){
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        // increment number of Bicycles
        // and assign ID number
        id = ++numberOfBicycles;
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        ...
}
7

public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
    private int id;
    private static int numberOfBicycles = 0;
        
    public Bicycle(int startCadence, int startSpeed, int startGear){
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        // increment number of Bicycles
        // and assign ID number
        id = ++numberOfBicycles;
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        ...
}
0

Không phải tất cả các kết hợp của các biến và phương thức của thể hiện và lớp đều được phép

  • Các phương thức thể hiện có thể truy cập trực tiếp các biến thể hiện và các phương thức thể hiện
  • Các phương thức sơ thẩm có thể truy cập trực tiếp các biến lớp và phương thức lớp
  • Các phương thức lớp có thể truy cập trực tiếp các biến lớp và phương thức lớp
  • Các phương thức lớp không thể truy cập trực tiếp các biến thể hiện hoặc các phương thức thể hiện—chúng phải sử dụng một tham chiếu đối tượng. Ngoài ra, các phương thức lớp không thể sử dụng từ khóa
    ClassName.methodName(args)
    
    4 vì không có trường hợp nào cho
    ClassName.methodName(args)
    
    4 tham chiếu đến

hằng số

Công cụ sửa đổi

public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
    private int id;
    private static int numberOfBicycles = 0;
        
    public Bicycle(int startCadence, int startSpeed, int startGear){
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        // increment number of Bicycles
        // and assign ID number
        id = ++numberOfBicycles;
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        ...
}
9, kết hợp với công cụ sửa đổi
ClassName.methodName(args)
7, cũng được sử dụng để xác định hằng số. Công cụ sửa đổi
ClassName.methodName(args)
7 chỉ ra rằng giá trị của trường này không thể thay đổi

Ví dụ: khai báo biến sau đây xác định một hằng số có tên là

ClassName.methodName(args)
9, có giá trị xấp xỉ pi (tỷ lệ giữa chu vi của một vòng tròn với đường kính của nó)

public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
    private int id;
    private static int numberOfBicycles = 0;
        
    public Bicycle(int startCadence, int startSpeed, int startGear){
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        // increment number of Bicycles
        // and assign ID number
        id = ++numberOfBicycles;
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        ...
}
6

Các hằng số được xác định theo cách này không thể được gán lại và đó là lỗi thời gian biên dịch nếu chương trình của bạn cố gắng làm như vậy. Theo quy ước, tên của các giá trị không đổi được đánh vần bằng chữ in hoa. Nếu tên bao gồm nhiều hơn một từ, các từ được phân tách bằng dấu gạch dưới (_)