24-初探类和对象
原创2024年11月26日大约 4 分钟...约 1068 字
0. 目录
- 如何创建类的实例/对象( Instance/Object )
- 通过点操作符操作对象的属性
1. 如何创建类的实例/对象( Instance/Object )
从数据类型的角度来看,类就是自己创建了一种新的数据类型。类也叫做 “自定义类型”。一个 Java 程序中不允许类同名。
看例程,学习类和对象的使用。
Merchandise
/**
* @ClassName: Merchandise
* @Description: TODO
* @Author: AI悦创
* @Date: 2022/10/11 22:37
* @Version: V1.0
* @Blog: https://www.bornforthis.cn
*/
public class Merchandise {
String name;
String id;
int count;
double price;
}
SuperMarket
/**
* @ClassName: SuperMarket
* @Description: TODO
* @Author: AI悦创
* @Date: 2022/10/11 22:37
* @Version: V1.0
* @Blog: https://www.bornforthis.cn
*/
public class SuperMarket {
public static void main(String[] args) {
// >> TODO 使用 new 操作符,可以创建一个类的实例/对象( instance/object )。
// >> TODO 使用 new 创建一个类的实例后,类中定义的每种变量都会被赋以其类型的初始值。count、id = 0
// TODO 这个和数组也是一样的
// >> TODO 使用一个同类型的对象变量,可以指向并操作这个实例。这两点和数组都很类似
// 创建一个Merchandise的实例,用m1指向它。
Merchandise m1 = new Merchandise(); // 创建一个对象变量 m1,类型是 Merchandise,变量是 m1
/*new Merchandise();>>>创建了,类的实例/对象
* Merchandise 有四个属性,在我们 new 一下之后,相当于给这四个属性打了一个包。
* 类似数组,new 一个数组为 3 的数组,也等于把三个进行打包。
* 类和数组的区别就是,里面的数据可以不一样。*/
// 使用点操作符,给m1指向的实例赋值。「对象变量.属性名」
System.out.println("缺省值");
System.out.println(m1.name);
System.out.println(m1.id);
System.out.println(m1.count);
System.out.println(m1.price);
m1.name = "茉莉花茶包 20 包";
m1.id = "000099518";
m1.count = 1000;
m1.price = 99.9;
Merchandise m2 = new Merchandise();
m2.name = "可口可乐 330ml";
m2.id = "000099519";
m2.count = 1000;
m2.price = 3.0;
// 卖出一个商品1
int m1ToSold = 1;
System.out.println("感谢购买" + m1ToSold + "个" + m1.name + "。商品单价为"
+ m1.price + "。消费总价为" + m1.price * m1ToSold + "。");
m1.count -= m1ToSold;
System.out.println(m1.id + "剩余的库存数量为" + m1.count);
// 卖出3个商品2
int m2ToSold = 3;
System.out.println("感谢购买" + m2ToSold + "个" + m2.name + "。商品单价为"
+ m2.price + "。消费总价为" + m2.price * m2ToSold + "。");
m2.count -= m2ToSold;
System.out.println(m2.id + "剩余的库存数量为" + m2.count);
}
}
输出
/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home/bin/java -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=59634:/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8 -classpath /Users/huangjiabao/GitHub/Java_Coder/Coder23/out/production/Coder23 SuperMarket
缺省值
null
null
0
0.0
感谢购买1个茉莉花茶包 20 包。商品单价为99.9。消费总价为99.9。
000099518剩余的库存数量为999
感谢购买3个可口可乐 330ml。商品单价为3.0。消费总价为9.0。
000099519剩余的库存数量为997
Process finished with exit code 0
问题
请问在 SuperMarket 中引用 Merchandise 类,不需要像别对语言一样使用 import 之类的语句显示引用吗?
同一个 package 里的类互相引用不需要 import 语句
2. 通过点操作符操作对象的属性
2.1 认识点操作符
- 点操作符是用来访问/操作前面实体的属性的,类似于“的”
merchandise.name
可以读作 merchandise 的 name。「数组我们使用下标来获取的」
欢迎关注我公众号:AI悦创,有更多更好玩的等你发现!
公众号:AI悦创【二维码】
AI悦创·编程一对一
AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh
C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh
方法一:QQ
方法二:微信:Jiabcdefh
你认为这篇文章怎么样?
- 0
- 0
- 0
- 0
- 0
- 0