基本对象构造和使用

对象来自他们自己的类,所以一个简单的例子就是汽车(详细解释如下):

public class Car {
    
    //Variables describing the characteristics of an individual car, varies per  object
   private int milesPerGallon;
   private String name;
   private String color;
   public int numGallonsInTank; 
    
    public Car(){
        milesPerGallon = 0;
        name = "";
        color = "";
        numGallonsInTank = 0;
    }
    
    //this is where an individual object is created
    public Car(int mpg, int, gallonsInTank, String carName, String carColor){
        milesPerGallon = mpg;
        name = carName;
        color = carColor;
        numGallonsInTank = gallonsInTank;
    }

    //methods to make the object more usable

    //Cars need to drive
    public void drive(int distanceInMiles){
        //get miles left in car
        int miles = numGallonsInTank * milesPerGallon;
        
        //check that car has enough gas to drive distanceInMiles
        if (miles <= distanceInMiles){
            numGallonsInTank = numGallonsInTank - (distanceInMiles / milesPerGallon)
            System.out.println("Drove " + numGallonsInTank + " miles!");
        } else {
            System.out.println("Could not drive!");
        }
    }

    public void paintCar(String newColor){
        color = newColor;
    }
        //set new Miles Per Gallon
    public void setMPG(int newMPG){
        milesPerGallon = newMPG;
    }

       //set new number of Gallon In Tank
    public void setGallonsInTank(int numGallons){
        numGallonsInTank = numGallons;
    }
    
    public void nameCar(String newName){
        name = newName;
    }

    //Get the Car color
    public String getColor(){
        return color;
    }

    //Get the Car name
    public String getName(){
        return name;
    }

    //Get the number of Gallons
    public String getGallons(){
        return numGallonsInTank;
    }
    
}  

对象是其类的实例。因此,创建对象的方式是在主类中以两种方式之一调用 Car 类(Java 中的 main 方法或 Android 中的 onCreate)。

选项 1

`Car newCar = new Car(30, 10, "Ferrari", "Red");

选项 1 是你在创建对象时基本上告诉程序有关 Car 的所有内容。更改汽车的任何属性都需要调用其中一种方法,例如 repaintCar 方法。例:

 newCar.repaintCar("Blue");

注意: 确保将正确的数据类型传递给方法。在上面的示例中,只要数据类型正确,你也可以将变量传递给 repaintCar 方法。

这是一个更改对象属性的示例,接收对象的属性需要使用 Car 类中具有返回值的方法(意味着不是 void 的方法)。例:

String myCarName = newCar.getName();  //returns string "Ferrari"

当你在创建时拥有所有对象的数据时,选项 1 是最佳选项。 ****

选项 2

`Car newCar = new Car();

选项 2 获得相同的效果,但需要更多工作才能正确创建对象。我想在 Car 类中回忆一下这个构造函数:

public void Car(){
        milesPerGallon = 0;
        name = "";
        color = "";
        numGallonsInTank = 0;
    }

请注意,你不必将任何参数实际传递到对象中以创建它。当你没有对象的所有方面但是需要使用你拥有的部件时,这非常有用。这会将通用数据设置到对象的每个实例变量中,这样,如果你调用一个不存在的数据,则不会抛出任何错误。

注意: 不要忘记,你必须稍后设置对象的部分,而不是使用它进行初始化。例如,

Car myCar = new Car();
String color = Car.getColor(); //returns empty string

这是未使用所有数据初始化的对象中的常见错误。避免了错误,因为有一个构造函数允许使用替代变量public Car(){}) 创建空的 Car 对象,但 myCar 的任何部分都没有实际定制。创建 Car Object 的正确示例:

Car myCar = new Car();
myCar.nameCar("Ferrari");
myCar.paintCar("Purple");
myCar.setGallonsInTank(10);
myCar.setMPG(30);

并且,作为提醒,通过调用主类中的方法来获取对象的属性。例:

String myCarName = myCar.getName(); //returns string "Ferrari"