基本数据类型存在的问题:
- 基本数据类型有整数型,浮点型,字符串等,但是这些类型创建的变量只能用于表示单个数据,而我们的程序中时候需要使用一些复合型数据,比如 日期 复数 学生 用户等
- 日期:包年月日 时分秒
- 复数:实数 虚数
- 学生:姓名 年龄 学号 学分 班级 (学生嘗理系统中的学生 )
- 用户:账号 密码 电话 地址 等
- 所以这些复合型数据类型在Java中 没有提而且也是无穷无尽的,所以需要根据实际程序的需要自己来创建,那么我们创建的这种类型叫做类,而这种复合型数据类型创建的变量叫做对象变量。
类与对象的概念:
- 类:对应“class”,指类别,Java中的类也是一种构造数据类型,但是对C语言中的结构体有所升级,进行了一些扩展,类的成员不但可以是变量,还可以是函数(方法)
- 对象:对应“object”,指具体的事物,通过类定义出来的变量也有特定的称,叫做“对象”
-
注意: 在Java中,仅仅通过类来定义变量不会分配内存空间的,必须使用new关键字来完成内存空间的分配:Student stu=new Student()。(实际上这条语句相当于Student stu;stu=new Student;这两句代码,第一句代码的意思是创建stu这样一个变量,第二条语句是给stu分配内存空间)。
可以将类比喻成图纸,对象比喻成零件,图纸说明了零件的参数;一张图纸可以生产出具有相同性质的零件,不同图纸可以生产不同类型的零件。
类的创建:
Java中的类可以看成C语言的结构体的升级版。结构体是一种构造数据类型,可以包含不同的成员(变量),每个成员的数据类型可以不一样,可以通过结构体来定义结构体变量,每个结构体拥有相同的性质
- 以下是我创建的宠物类
-
public class dog{ String name; int age; String number; int degreeofhunger; public void eat() { degreeofhunger -= 3; System.out.println(name + "经过投喂,饥饿度减3,现在的饥饿度是:" + degreeofhunger); } public void activity() { degreeofhunger += 5; System.out.println(name + "经过活动,饥饿度加5,现在的饥饿度是:" + degreeofhunger); }
包括“dog”的大类创建,类中包含的变量“name,age,number,degreeofhunger”,类中包含的函数(方法)“eat,act”
对象的创建:
在Java中,使用new关键字就能创建一个对象,即将图纸生产成零,这个过程叫做类的实例化,因此也称为对象是类的一个实例。
- 以下是我创建的对象
-
public static void main(String[] args) { dog dog1 = new dog(); dog1.name = "John"; dog1.age = 10; dog1.number = "070701"; dog1.degreeofhunger = 4;
其中创建了对象,即“dog1”,并输入了类的成员,成员的当前属性
运行结果:
- 以下是我的运行终果
-
"C:\Program Files\Java\jdk-17\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2024.1.4\lib\idea_rt.jar=51567:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2024.1.4\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\Administrator\IdeaProjects\xinghaozhe0703\src\out\production\xinghaozhe dog0707 -----dog的信息栏----- 姓名:John 年龄:10 编号:070701 饥饿度:4 --------------------- John经过投喂,饥饿度减3,现在的饥饿度是:1 John经过活动,饥饿度加5,现在的饥饿度是:6 -----dog的信息栏----- 姓名:John 年龄:10 编号:070701 饥饿度:6 --------------------- Process finished with exit code 0
谢谢诸位的学习品鉴,有不足请多指教!
-
小哲拜别~