类、对象、属性与方法

类、对象、属性与方法

第一部分:类与对象的基本概念

1.1 类的定义

类(Class)是面向对象编程的核心概念,可以理解为对象的模板或蓝图
它定义了对象有哪些属性(特征)和方法(行为)。

示例代码:

1
2
3
4
5
6
7
8
9
10
public class Person {
// 属性(成员变量)
String name;
int age;

// 方法(成员方法)
public void dress() {
System.out.println("人会穿衣服");
}
}

笔记要点:

  1. 类是抽象的概念,不能直接执行,必须实例化为对象才能使用。
  2. 属性(字段)描述对象特征,如姓名、年龄。
  3. 方法描述对象行为,如穿衣、吃饭。
  4. 方法必须写在类中,不能单独存在。
  5. 类可以包含多个属性和方法,属性和方法的组合定义了对象的完整特征。

1.2 对象的创建与使用

对象(Object)是类的具体示例,是可以操作的实体

使用new关键词来创建对象

加粗测试

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Exam01Test {
public static void main(String[] args) {
// 创建对象
Exam01 p1 = new Exam01();

// 设置属性值
p1.name = "张三";
p1.age = 18;
p1.gender = "男";

// 调用方法
p1.study();
System.out.println("年龄:" + p1.showAge());
}
}

笔记要点:

  • 使用 类名 对象名 = new 类名(); 创建对象
  • 使用 点操作符访问对象的属性和方法
  • 每个对象都是类的独立实例,有独立的属性值

补充说明:

  • 同一个类可以创建多个对象,每个对象的属性值可以不同
  • 对象之间互不干扰,除非使用 static 修饰属性或方法

第二部分:方法的详细讲解

2.1 无返回值方法

无返回值方法使用 void 关键字,不返回任何数据。

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
// 无参数无返回值
public void dress() {
System.out.println("人会穿衣服");
}

// 有参数无返回值
public void eat(String food) {
System.out.println("人会吃" + food);
}

public void sleep(int hours) {
System.out.println("人需要睡" + hours + "个小时");
}

要点:

  • 无返回值方法主要用于执行操作或打印信息
  • 可以有参数或无参数
  • 调用方法时直接使用 对象名.方法名(参数)

2.2 有返回值方法

有返回值方法需要指定返回类型,并使用 return 返回数据。

示例代码:

1
2
3
4
5
6
7
8
9
// 无参数有返回值
public int showAge() {
return age;
}

// 有参数有返回值
public String go(String way) {
return "今天出行方式是" + way;
}

要点:

  • 返回值类型可以是基本类型或对象类型
  • 调用方法时应处理返回值,可以赋给变量或直接输出

补充说明:

  • 如果方法声明返回类型为 int,必须确保方法体中有 return int值
  • void 方法不能使用 return 值,但可以单独使用 return; 提前结束方法

2.3 方法调用注意事项

1
2
3
4
5
6
// 错误示例
p1.showAge(); // 返回值被忽略

// 正确示例
int age1 = p1.showAge(); // 保存返回值
System.out.println(age1);

要点:

  • 有返回值方法调用时,返回值必须被使用
  • 无返回值方法调用可以直接调用,不需要接收

2.4 小练习

请定义一个City类,该class具有如下字段:

  • name: 名称,String类型
  • latitude: 纬度,double类型
  • longitude: 经度,double类型

实例化几个City并赋值,然后打印。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// City
public class Main {
public static void main(String[] args) {
City bj = new City();
bj.name = "Beijing";
bj.latitude = 39.903;
bj.longitude = 116.401;
System.out.println(bj.name);
System.out.println("location: " + bj.latitude + ", " + bj.longitude);
}
}

class City {
???
}

第三部分:完整的类示例

3.1 Exam01类完整代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Exam01 {
// 属性
String name;
int age;
String gender;

// 方法
public void study() {
System.out.println("studying");
}

public int showAge() {
return age;
}

public void addAge(int addAge) {
age += addAge;
}
}

3.2 方法调用中的常见问题

1
2
3
4
5
6
7
p1.age = 18;
p1.addAge(2);
System.out.println("age:" + p1.age); // 输出:20

int age1 = p1.showAge(); // age1 = 18
p1.addAge(2);
System.out.println("age1:" + age1); // 输出:18(age1值未变)

分析:

  • age1 保存的是调用 showAge() 时的 快照
  • p1.age 被修改,age1 并不会自动更新
  • 理解点:对象的属性是“实时数据”,变量是“独立拷贝”

第四部分:实践练习

练习1:创建Person类对象

1
2
3
4
5
6
7
Person person = new Person();
person.name = "李四";
person.age = 25;
person.dress();
person.eat("米饭");
String result = person.go("步行");
System.out.println(result);

补充练习思路:

  • 尝试创建多个对象,设置不同属性
  • 调用相同方法,观察输出差异

第五部分:核心知识点总结

5.1 类与对象关系

  • 类:对象的蓝图或模板
  • 对象:类的具体实例
  • 一个类可以创建多个对象,属性和方法是对象的共同特征

5.2 方法要点

  • 方法必须定义在类中
  • 无返回值方法使用 void
  • 有返回值方法必须使用 return
  • 调用有返回值方法时应接收或处理返回值

5.3 编程规范

  • 类名:大驼峰(PersonExam01
  • 方法名:小驼峰(showAgeaddAge
  • 属性名:小驼峰(nameage
  • 注释清晰,便于维护

5.4 补充知识点

  1. 面向对象三大特性(后续学习)
    • 封装(Encapsulation)
    • 继承(Inheritance)
    • 多态(Polymorphism)
  2. 对象引用
    • 对象变量保存的是对象地址,多个变量可引用同一个对象
    • 修改对象属性会影响所有引用该对象的变量

类、对象、属性与方法
https://cryocore1225.github.io/java/j2/a960c5c8.html
作者
Cryocore1225
更新于
2025年12月7日
许可协议