13. 使用类 【连载 13】



![](http://on91wk3hn.bkt.clouddn.com/17-12-26/26560292.jpg)






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


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


Car: 


```java
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 : 


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






## 1. 创建对象


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


```java
public static void main(String[] args) {
  //创建一个对象
  Car myCar = new Car();
}
```


- `Car myCar` : 定义了一个 `Car` 类型的变量 `myCar`
- `new`:是一个关键字,用来创建一个对象
- `Car()`:调用`Car`类的构造方法 `Car()`


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


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


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

你可能感兴趣的:(13. 使用类 【连载 13】)