13. 使用类 【连载 13】

针对类的操作无非有两种,第一种是类的定义,第二种是类的使用。在之前的内容已经讨论过类的定义,这次内容来说一说类的使用。

这里继续使用【定义类】内容所用的实例:

Car:

public class Car {
  String make;//制造商
  double odometer;//里程
  int maxSpeed;//最高时速
  Engine engine;//引擎

  //空构造,也是默认构造。
  public Car() {
    System.out.println("调用了空构造方法");
  }
  //一个参数的构造方法,可以传递make值,创建一个对象
  public Car(String make) {
    this.make = make;
  }

  //多个参数的构造
  public Car(String make, double odometer, int maxSpeed, Engine engine) {
        this.make = make;
        this.odometer = odometer;
        this.maxSpeed = maxSpeed;
        this.engine = engine;
  } 

  //汽车启动
  public void starup() {
    System.out.println(make + ", 启动了");
  }

  //汽车行驶
  public void run() {
    System.out.println("80, 行驶");
  }

}

Engine :

public class Engine {
  double power = 5.5;//动力
}

1. 创建对象

对于类的使用,我们通常要先去根据类来创建一个对象:

public static void main(String[] args) {
  //创建一个对象
  Car myCar = new Car();
}
  • Car myCar : 定义了一个 Car 类型的变量 myCar
  • new:是一个关键字,用来创建一个对象
  • Car():调用Car类的构造方法 Car()

这里有必要解释下内存分配情况,当执行 Car myCar = new Car();这句代码时,内存是如何分配的?

作为编程语言,实际变量所存储的数据都是要放在内存中的。堆和栈是 Java 常用的内存存储结构,是内存中用来存储数据的地方。

  • 栈:主要用来存放方法中定义的基本类型变量(例如intdouble等)和引用类型变量(比如