Java 类的定义、属性与方法详解

July 08, 2025 / Eila / 6阅读 / 0评论/ 分类: 笔记

一、类的定义:对象的蓝图

类是 Java 面向对象编程的基础,它定义了对象的模板(蓝图)。类包含对象的属性(状态)和方法(行为)

类的基本结构

[访问修饰符] class 类名 {
    // 属性(成员变量)
    
    // 构造方法
    
    // 方法(成员函数)
}

示例:定义一个简单的 Person 类

public class Person {
    // 属性(成员变量)
    String name;
    int age;
    
    // 构造方法
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    // 方法(成员函数)
    public void introduce() {
        System.out.println("你好,我叫" + name + ",今年" + age + "岁");
    }
    
    public void celebrateBirthday() {
        age++;
        System.out.println("生日快乐!我现在" + age + "岁了");
    }
}

二、属性(成员变量):对象的状态

属性是类的状态特征,描述对象的静态特性。

1,属性定义语法

[访问修饰符] [static] [final] 数据类型 属性名 [= 初始值];

2,属性类型对比

属性类型

示例

特点

实例变量

private String name;

每个对象独立拥有

静态变量

public static int count;

类级别共享

常量

final double PI = 3.14;

不可修改

3,属性最佳实践

  1. 封装性:通常设为 private

  2. 命名规范:小驼峰命名法(如:firstName)

  3. 初始化:可在声明时或构造方法中初始化

  4. 访问控制:使用 getter/setter 方法访问

public class Person {
    private String name; // 实例变量
    private int age;     // 实例变量
    public static int count = 0; // 静态变量(统计创建的人数)
    private final String SPECIES = "人类"; // 常量
}

三、方法:对象的行为

方法是类的功能操作,描述对象的动态行为。

1,方法定义语法

[访问修饰符] [static] [final] [abstract] 返回类型 方法名(参数列表) {
    // 方法体
    [return 返回值;]
}

2,方法类型详解

方法类型

示例

特点

实例方法

public void introduce() {...}

操作对象实例

静态方法

public static void printCount() {...}

类级别操作

构造方法

public Person(String name) {...}

创建对象

抽象方法

abstract void work();

无实现

3,方法组成部分

  1. 访问修饰符:public/protected/private

  2. 返回类型:基本类型/对象类型/void

  3. 方法名:动词或动词短语

  4. 参数列表:(类型 参数1, 类型 参数2)

  5. 方法体:功能实现代码

  6. 返回值:与声明类型匹配(void 除外)

4,完整方法示例

public class Calculator {
    // 实例方法(带返回值)
    public double add(double a, double b) {
        return a + b;
    }
    
    // 静态方法
    public static int max(int x, int y) {
        return x > y ? x : y;
    }
    
    // void 方法(无返回值)
    public void printResult(double result) {
        System.out.println("计算结果: " + result);
    }
    
    // 方法重载
    public int add(int a, int b) {
        return a + b;
    }
    
    public int add(int a, int b, int c) {
        return a + b + c;
    }
}

四、构造方法:对象的创建者

构造方法用于初始化对象,在创建对象时自动调用。

1,构造方法特点

  1. 方法名与类名完全相同

  2. 没有返回类型(连 void 都没有)

  3. 可重载(多个不同参数的构造方法)

  4. 默认提供无参构造(除非显式定义其他构造方法)

2,构造方法示例

public class Book {
    private String title;
    private String author;
    private double price;
    
    // 无参构造方法
    public Book() {
        this.title = "未知";
        this.author = "未知";
        this.price = 0.0;
    }
    
    // 带部分参数的构造方法
    public Book(String title, String author) {
        this.title = title;
        this.author = author;
        this.price = 50.0; // 默认价格
    }
    
    // 全参数构造方法
    public Book(String title, String author, double price) {
        this.title = title;
        this.author = author;
        this.price = price;
    }
}

六、关键概念总结

概念

定义

示例

作用

对象的模板

class Person

定义对象的类型

属性

对象的状态

private String name;

存储对象数据

方法

对象的行为

public void speak() {...}

定义对象功能

构造方法

对象的初始化

public Person(String n) {...}

创建对象实例

静态成员

类级别的成员

public static int count;

类共享的数据/方法

封装

数据保护机制

使用 private 属性 + public 方法

控制访问权限

七、最佳实践

  1. 封装原则:属性设为 private,通过 public 方法访问

  2. 命名规范

    • 类名:大驼峰(如 StudentManager

    • 方法名:小驼峰(如 calculateGrade

    • 属性名:小驼峰(如 studentName

  3. 单一职责:每个类只负责一项主要功能

  4. 方法精简:方法不宜过长(建议不超过30行)

  5. 构造方法:提供合理的重载版本

  6. 注释规范:使用 Javadoc 注释关键类和方法

/**
 * 学生类
 * 用于表示学生信息及其相关操作
 */
public class Student {
    /** 学生姓名 */
    private String name;
    
    /** 学生年龄 */
    private int age;
    
    /**
     * 构造方法
     * @param name 学生姓名
     * @param age 学生年龄
     */
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    /**
     * 获取学生信息
     * @return 格式化的学生信息字符串
     */
    public String getInfo() {
        return "姓名:" + name + ",年龄:" + age;
    }
}

记住:类是蓝图,对象是根据蓝图建造的房子,属性是房子的状态(如颜色、大小),方法是房子的功能(如开门、关窗)。好的类设计应该像精心设计的蓝图,清晰、简洁、功能明确!

文章作者:Eila

版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0 许可协议,转载请注明出处!