实操名称:使用文字和图画描述,如下程序的执行过程

环境: jdk 1.8,画图软件

一:执行过程如下:

首先,main方法中,新创建了 Car c1 = new Car(),所以,应该在栈里新创建一个栈帧:c1,地址为:[email protected],c1里有一些常量和方法放在堆里,分别为:tyreNum = 4;engine=null;color=红色;showColor();changeColor()。

其次,创建了 Car c2 = new Car(),所以,再在栈里新创建一个栈帧:c2,地址为:[email protected],c2里有一些常量和方法放在堆里,分别为:tyreNum = 10;engine=null;color=黑色;showColor();changeColor()。

然后创建了Engine e = new Engine(),所以,再在栈里新创建一个栈帧:e,地址为:[email protected],e 里有一些常量和方法放在堆里,分别为:speed:1000,weight:10。

最后在方法区里总结了字符串常量为:红色,黑色,我的颜色是:

二:执行过程图片如下:
使用文字和图画描述,如下程序的执行过程
三:执行代码如下:

package cn.sxt.oo;
public class TestObject1 {
    public static void main(String[] args) {
        Car c1 = new Car();
        
        c1.changeColor("红色");
        c1.showColor();
        System.out.println(Car.tyreNum);
        System.out.println(c1.tyreNum);
        Car c2 = new Car();
         
        Engine e = new Engine();
         
        e.speed = 1000;
        e.weight = 10;
        c2.engine = e;
        c2.color = "黑色";
        c2.tyreNum = 10;
        System.out.println(c1.tyreNum);
    }
}
  
class Car {
    static int tyreNum = 4;
    Engine engine;
    String color; // char sequence :字符序列
  
    void changeColor(String c) {
        color = c;
    }
  
    void showColor() {
        System.out.println("我的颜色是:" + color);
    }
}
  
class Engine {
    int speed;
    int weight;
}

四:执行结果如下图所示:
使用文字和图画描述,如下程序的执行过程

相关文章:

  • 2021-06-29
  • 2021-06-30
  • 2021-04-08
  • 2022-12-23
  • 2022-12-23
  • 2021-08-14
  • 2021-09-18
猜你喜欢
  • 2021-11-30
  • 2021-09-01
  • 2021-08-21
  • 2022-12-23
  • 2021-12-09
  • 2021-09-15
相关资源
相似解决方案