自己创建数据类型——类
我们自己封装的数据类型就叫做类。创建好类之后,可以像使用 int、String 等类型一样去创建变量,只不过通过自定义类创建的变量称为对象。创建对象需要使用关键字 new,类似创建数组。
示例代码
package V058;
public class Test {
public static void main(String[] args) {
Student zs = new Student();
zs.age = 12;
zs.local = "北京";
zs.name = "张三";
zs.ShowInfo();
int a = 12;
Student ls = new Student();
ls.age = 23;
ls.name = "李四";
ls.local = "青岛";
ls.ShowInfo();
}
}
class Student {
int age;
String name;
String local;
void ShowInfo() {
System.out.println("姓名:" + name);
System.out.println("年龄:" + age);
System.out.println("籍贯:" + local);
}
void setAge(int age) {
this.age = age;
}
}
class Person {
}Code language: JavaScript (javascript)
类的创建
class Student {
int age;
String name;
String local;
void ShowInfo() {
System.out.println("姓名:" + name);
System.out.println("年龄:" + age);
System.out.println("籍贯:" + local);
}
void setAge(int age) {
this.age = age;
}
}Code language: JavaScript (javascript)
| 组成部分 | 说明 |
|---|
class Student | 定义一个名为 Student 的类 |
成员变量(age、name、local) | 描述对象的属性 |
成员方法(ShowInfo、setAge) | 描述对象的行为 |
对象的创建与成员访问
Student zs = new Student();
zs.age = 12;
zs.name = "张三";
zs.local = "北京";
zs.ShowInfo(); Code language: JavaScript (javascript)
| 操作 | 语法 | 示例 |
|---|
| 创建对象 | new 类名() | new Student() |
| 访问成员变量 | 对象名.成员变量 | zs.age |
| 调用成员方法 | 对象名.成员方法() | zs.ShowInfo() |
this 关键字
void setAge(int age) {
this.age = age;
}Code language: JavaScript (javascript)
| 用法 | 说明 |
|---|
this.成员变量 | 区分同名的成员变量和局部变量 |
this.成员方法() | 调用当前对象的成员方法 |
多个对象互相独立
Student zs = new Student();
zs.age = 12;
Student ls = new Student();
ls.age = 23;Code language: JavaScript (javascript)
zs 和 ls 是两个独立的对象,各自拥有独立的成员变量空间,互不影响。
类与对象的关系总结
| 概念 | 说明 | 类比 |
|---|
| 类 | 模板、定义 | 月饼模具 |
| 对象 | 实例、具体个体 | 用模具压出的月饼 |
注意事项
| 要点 | 说明 |
|---|
| 成员变量默认值 | 未赋值时有默认值(int 为 0,String 为 null) |
| 一个文件多个类 | 一个 .java 文件中可以定义多个类,但只能有一个 public 类 |
| 成员变量 vs 局部变量 | 成员变量属于对象,局部变量属于方法 |
new 的作用 | 在堆内存中开辟空间,创建对象并初始化成员变量 |