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

Java 学习笔记(基础篇7)

1. 快捷键之迅速编写 JavaBean

① 用快捷键唤起生成菜单,在类的编辑界面,按 Alt + Insert(Windows/Linux),就能呼出这个生成菜单:

  • Constructor:生成构造方法
  • Getter and Setter:一次性生成所有属性的 Getter 和 Setter
② Constructor,选 Constructor 后,会弹出对话框让你选要初始化的属性。

(1) 想生成无参构造,就一个属性都不选,直接点确定

(2) 想生成带参构造(比如初始化 name 和 age),就勾选这两个属性,确定后生成

③ Getter and Setter,选这个选项后,勾选所有要生成的属性(一般全选),确定后,IDEA 会自动为每个属性生成对应的 Getter 和 Setter

2. 快捷键之重命名重构功能

Shift + F6(Windows/Linux)

3. 综合练习

① 商品信息管理系统

题目要求:

(1) 创建一个Goods类,用于描述商品信息,包含以下属性(均为私有):

  • 商品编号(id,字符串类型)
  • 商品名称(name,字符串类型)
  • 商品价格(price,双精度浮点型)
  • 商品库存数量(count,整数类型)

(2) 为Goods类提供:

  • 无参构造方法
  • 有参构造方法(参数顺序:id、name、price、count)
  • 所有属性的 getter 和 setter 方法

(3) 创建一个测试类GoodTest,在其main方法中完成:

  • 创建一个能存储 3 个Goods对象的数组
  • 创建 3 个具体商品对象,信息如下:
    • 商品 1:编号 "001",名称 "华为手机",价格 5999,库存 1000
    • 商品 2:编号 "002",名称 "保温杯",价格 277,库存 50
    • 商品 3:编号 "003",名称 "枸杞",价格 12.7,库存 70

(4) 将 3 个商品对象存入数组

(5) 遍历数组,打印每个商品的编号、名称和价格(格式:编号,名称,价格)

//GoodTest
public class GoodTest {public static void main(String[] args) {Goods[] arr= new Goods[3];  //不太理解Goods g1 = new Goods("001","华为手机",5999,1000);  //不太理解Goods g2 = new Goods("002","保温杯",277,50);Goods g3 = new Goods("003","枸杞",12.7,70);arr[0]=g1;  //不太理解arr[1]=g2;arr[2]=g3;for (int i = 0; i < arr.length; i++) {Goods goods = arr[i];System.out.println(goods.getId() + "," + goods.getName() + "," + goods.getPrice());  //不太理解}}
}

关键逻辑:

Goods[] arr= new Goods[3];  // 创建一个能存储3个Goods对象的数组
  • 作用:创建一个专门存放 Goods 类型对象的数组
  • Goods[]声明数组类型,规定这个数组只能放Goods对象
Goods g1 = new Goods("001","华为手机",5999,1000);
Goods g2 = new Goods("002","保温杯",277,50);
Goods g3 = new Goods("003","枸杞",12.7,70);
  • new Goods(...)调用Goods类的有参构造方法,按照参数初始化商品属性
for (int i = 0; i < arr.length; i++) {Goods goods = arr[i];System.out.println(goods.getId() + "," + goods.getName() + "," + goods.getPrice());
}
  • Goods goods = arr[i]:从数组的第 i 个位置取出商品,用goods变量临时保存(相当于 "拿起当前位置的商品")
  • 获取商品信息的方法(调用Goods类的 getter 方法)
    • goods.getId():获取商品编号(如 "001")
    • goods.getName():获取商品名称(如 "华为手机")
    • goods.getPrice():获取商品价格(如 5999.0)

② 汽车信息录入与展示系统

题目要求:

(1) 创建一个Car类,用于描述汽车信息,包含以下私有属性:

  • 汽车品牌(brand,字符串类型)
  • 汽车价格(price,整数类型)
  • 汽车颜色(color,字符串类型)

(2) 为Car类提供:

  • 无参构造方法
  • 所有属性的gettersetter方法(用于设置和获取属性值)

(3) 创建测试类CarTest,在其main方法中完成以下操作:

  • 创建一个能存储 3 辆汽车信息的Car类型数组
  • 使用Scanner接收用户从键盘输入的 3 辆汽车信息,每辆汽车需要输入:品牌、价格、颜色
  • 将输入的 3 辆汽车对象依次存入数组
  • 遍历数组,打印每辆汽车的品牌、价格和颜色(格式:品牌,价格,颜色)
public class CarTest {public static void main(String[] args) {Car[] arr = new Car[3];Scanner sc = new Scanner(System.in);for (int i = 0; i < arr.length; i++) {Car c = new Car();System.out.println("请输入汽车的品牌");String brand = sc.next();  //不太理解c.setBrand(brand);  //不太理解System.out.println("请输入汽车的价格");int price = sc.nextInt();c.setPrice(price);System.out.println("请输入汽车的颜色");String color = sc.next();c.setColor(color);arr[i] = c;}for (int i = 0; i < arr.length; i++) {Car car = arr[i];System.out.println(car.getBrand() + "," + car.getPrice() + "," + car.getColor());}}
}

关键逻辑:

String band = sc.next();
  • sc.next()调用 Scanner 的next()方法,功能是读取用户输入的下一个字符串(直到遇到空格或回车键结束)
c.setBrand(brand);
  • c通过Car c = new Car();创建的汽车对象(代表一辆具体的汽车)
  • setBrand(...)Car类的setter方法,专门负责给brand属性赋值
  • brand传递的参数,即刚才用户输入并存储在brand变量中的品牌信息(如 “宝马”)
  • 本质:通过setBrand方法,将用户输入的品牌信息正式存入汽车对象cbrand属性中
http://www.dtcms.com/a/344730.html

相关文章:

  • 2025年游戏盾SDK动态加密技术全景解析:从防御破解到重塑游戏安全基石
  • CSM5110 5V/1A降压芯片 SOT23-5封装 可替代RY3408 带OVP保护
  • vim的使用
  • 牛客面经1 滴滴社招-002
  • JAVA国际版多商户运营版商城系统源码多商户社交电商系统源码支持Android+IOS+H5
  • 哈希和字符串哈希
  • STM32 外设驱动模块七:红外反射式光电模块
  • Centos 8 管理防火墙
  • 安装Tailscale
  • Maven初识到应用
  • 【AI应用】向量数据库Milvus详细命令
  • Jenkins + SonarQube 从原理到实战四:Jenkins 与 Gerrit 集成并实现自动任务
  • Linux爆音问题解决方法(隔一会会有奇怪噪音)
  • Go 基础解析
  • 逛越南本地菜市场学英语
  • 异质结3.0时代的降本提效革命:捷造科技设备技术创新与产业拐点分析
  • DSPy框架:从提示工程到声明式编程的革命性转变
  • go 常见面试题
  • 番茄(西红柿)叶片病害检测数据集:12k+图像,10类,yolo标注
  • RAG中稠密向量和稀疏向量
  • 基于抗辐照性能的ASP4644S电源芯片特性分析与多领域应用验证
  • show-overflow-tooltip使用当内容过多不展示...
  • 国密双证书双向认证实践
  • 浅拷贝,深拷贝
  • SkyWalking高效线程上下文管理机制:确保调用链中traceId来自同一个请求
  • 图像指针:高效处理像素数据的核心工具
  • 贪吃蛇--C++实战项目(零基础)
  • 直播间聊天室直播录播消息发送自动对话点赞H5开源
  • Datawhale AI夏令营---coze空间共学
  • RoboTwin--CVPR2025--港大--2025.4.17--开源