当前位置: 首页 > news >正文

【JAVA】Java基础—面向对象编程:构造方法-实现一个Car类,包含多个构造方法,创建不同的汽车对象

在Java中,构造方法则是用于创建对象的特殊方法。通过构造方法,可以在创建对象时初始化其属性。构造方法的重载允许我们根据不同的需求定义多个构造方法,从而灵活地创建对象。

我们可以将汽车的构造方法比作汽车的配置选项。比如,当你购买一辆汽车时,你可以选择不同的配置,如颜色、型号、引擎类型等。不同的选择(参数)会导致不同的汽车对象(实例)。

我们将实现一个Car类,包含多个构造方法,以便创建不同类型的汽车对象。

1. Car类的定义
public class Car {// 属性private String make;  // 汽车品牌private String model; // 汽车型号private int year;     // 出厂年份private String color; // 颜色private double price; // 价格// 默认构造方法public Car() {this.make = "未知"; // 默认品牌this.model = "未知"; // 默认型号this.year = 2023;   // 默认年份this.color = "黑色"; // 默认颜色this.price = 0.0;   // 默认价格}// 构造方法:接受品牌和型号public Car(String make, String model) {this.make = make;   // 设置品牌this.model = model; // 设置型号this.year = 2023;   // 默认年份this.color = "黑色"; // 默认颜色this.price = 0.0;   // 默认价格}// 构造方法:接受品牌、型号和年份public Car(String make, String model, int year) {this.make = make;   // 设置品牌this.model = model; // 设置型号this.year = year;   // 设置年份this.color = "黑色"; // 默认颜色this.price = 0.0;   // 默认价格}// 构造方法:接受所有属性public Car(String make, String model, int year, String color, double price) {this.make = make;   // 设置品牌this.model = model; // 设置型号this.year = year;   // 设置年份this.color = color; // 设置颜色this.price = price; // 设置价格}// 获取汽车信息的方法public String getCarInfo() {return "品牌: " + make + ", 型号: " + model + ", 年份: " + year + ", 颜色: " + color + ", 价格: " + price;}
}

代码解释

  • 属性:定义了make(品牌)、model(型号)、year(年份)、color(颜色)和price(价格)等属性。

  • 构造方法
    • public Car():默认构造方法,初始化汽车为未知品牌和型号,年份为2023,颜色为黑色,价格为0.0。

    • public Car(String make, String model):接受品牌和型号的构造方法,其他属性使用默认值。

    • public Car(String make, String model, int year):接受品牌、型号和年份的构造方法,其他属性使用默认值。

    • public Car(String make, String model, int year, String color, double price):接受所有属性的构造方法,允许完全自定义汽车的所有信息。

  • 方法getCarInfo()用于返回汽车的详细信息。

2. 使用Car类创建对象
public class Main {public static void main(String[] args) {// 使用默认构造方法创建对象Car car1 = new Car();System.out.println("汽车1信息: " + car1.getCarInfo()); // 输出:汽车1信息: 品牌: 未知, 型号: 未知, 年份: 2023, 颜色: 黑色, 价格: 0.0// 使用品牌和型号的构造方法创建对象Car car2 = new Car("Toyota", "Camry");System.out.println("汽车2信息: " + car2.getCarInfo()); // 输出:汽车2信息: 品牌: Toyota, 型号: Camry, 年份: 2023, 颜色: 黑色, 价格: 0.0// 使用品牌、型号和年份的构造方法创建对象Car car3 = new Car("Honda", "Civic", 2022);System.out.println("汽车3信息: " + car3.getCarInfo()); // 输出:汽车3信息: 品牌: Honda, 型号: Civic, 年份: 2022, 颜色: 黑色, 价格: 0.0// 使用所有属性的构造方法创建对象Car car4 = new Car("Tesla", "Model S", 2023, "红色", 79999.99);System.out.println("汽车4信息: " + car4.getCarInfo()); // 输出:汽车4信息: 品牌: Tesla, 型号: Model S, 年份: 2023, 颜色: 红色, 价格: 79999.99}
}

代码解释

  • Car car1 = new Car();:使用默认构造方法创建car1对象,输出其信息。

  • Car car2 = new Car("Toyota", "Camry");:使用品牌和型号的构造方法创建car2对象,输出其信息。

  • Car car3 = new Car("Honda", "Civic", 2022);:使用品牌、型号和年份的构造方法创建car3对象,输出其信息。

  • Car car4 = new Car("Tesla", "Model S", 2023, "红色", 79999.99);:使用所有属性的构造方法创建car4对象,输出其信息。

http://www.lryc.cn/news/482197.html

相关文章:

  • 初识网络编程TCP/IP
  • 快速入门Zookeeper
  • Filter and Search 筛选和搜索
  • spark的学习-06
  • Linux C/C++ Socket 编程
  • Flutter错误: uses-sdk:minSdkVersion 16 cannot be smaller than version 21 declared
  • Spark 的容错机制:保障数据处理的稳定性与高效性
  • TCP可靠连接的建立和释放,TCP报文段的格式,UDP简单介绍
  • LLMs之PDF:zeroX(一款PDF到Markdown 的视觉模型转换工具)的简介、安装和使用方法、案例应用之详细攻略
  • 开源数据库 - mysql - mysql-server-8.4(gtid主主同步+ keepalived热切换)部署方案
  • Java全栈体系路线
  • 【Unity基础】Unity中如何导入字体?
  • 使用NVIDIA GPU加速FFmpeg视频压制:完全指南
  • Python学习:scipy是什么?
  • spark的学习-05
  • SQL注入(SQL Injection)详解
  • 深入解析 OpenHarmony 构建系统-2-目录结构与核心组件
  • 网络安全应急响应(归纳)
  • 【网络协议栈】网络层(上)网络层的基本理解、IP协议格式、网络层分组(内附手画分析图 简单易懂)
  • 数据库类型介绍
  • 一步一步从asp.net core mvc中访问asp.net core WebApi
  • linux中kubectl命令使用
  • Linux 系统结构
  • ESP32-S3设备智能化升级,物联网无线AI语音交互,让生活更加便捷和有趣
  • Python的函数(补充浅拷贝和深拷贝)
  • oracle查询字段类型长度等字段信息
  • C语言 | Leetcode C语言题解之第559题N叉树的最大深度
  • 光流法(Optical Flow)
  • Rancher的安装
  • 【Linux】获得同一子网下当前在线设备IP/Latency/MAC 通过nmap指定CIDR扫描当前在线设备