类的定义与基本结构
在Java中,类是面向对象编程的核心概念,它是一种抽象的数据类型,用于定义对象的属性和行为,创建类即定义一个模板,通过这个模板可以实例化多个具体对象,一个基本的Java类通常包含以下几个部分:类声明、字段(属性)、方法、构造函数以及内部类等。

类声明
类的声明是创建类的起点,使用class关键字,后跟类名和类体(用花括号包裹),类名通常采用大驼峰命名法(PascalCase),即每个单词首字母大写,例如Student、Car等,类可以声明为public(公共类)或默认包级私有,公共类必须与文件名保持一致。
public class Student {
// 类体内容
}
字段(属性)
字段用于定义类的数据属性,即对象的状态,字段可以是基本数据类型(如int、double)或引用数据类型(如其他类、数组),字段前可以访问修饰符(如private、public、protected)来控制访问权限,private表示仅类内部可访问,常用于封装。
public class Student {
private String name; // 姓名
private int age; // 年龄
private String gender; // 性别
}
方法
方法用于定义类的行为,即对象可以执行的操作,方法包含方法名、参数列表、返回值类型和方法体,方法同样可以使用访问修饰符,public方法可被外部调用,private方法仅类内部使用,常见的特殊方法包括main方法(程序入口)、构造函数(用于初始化对象)等。
public class Student {
// 方法示例:获取姓名
public String getName() {
return name;
}
// 方法示例:设置年龄
public void setAge(int age) {
if (age > 0) {
this.age = age;
}
}
}
构造函数
构造函数是一种特殊的方法,用于创建对象时初始化字段,它与类同名且没有返回值类型,如果未显式定义,编译器会自动生成一个无参构造函数,构造函数可以重载(即多个同名构造函数,参数列表不同)。
public class Student {
// 无参构造函数
public Student() {
this.name = "Unknown";
this.age = 0;
}
// 带参构造函数
public Student(String name, int age) {
this.name = name;
this.age = age;
}
}
封装与访问控制
封装是面向对象编程的三大特性之一,它通过将字段私有化并提供公共的访问方法(getter和setter),隐藏对象的内部实现细节,仅暴露必要的操作接口,这种机制可以保护数据的安全性,避免外部直接修改对象状态。

私有字段与公共方法
如上述Student类中,name、age等字段被声明为private,外部无法直接访问,需通过getName()、setAge()等公共方法进行操作,在setter方法中,还可以添加参数校验逻辑,例如确保年龄为正数。
public class Student {
private int age;
public void setAge(int age) {
if (age > 0 && age < 120) {
this.age = age;
} else {
System.out.println("年龄无效");
}
}
}
访问修饰符
Java提供了四种访问修饰符,控制类、字段、方法的访问范围:
public:任何地方均可访问。protected:同一包内或子类可访问。- 默认(无修饰符):同一包内可访问。
private:仅类内部可访问。
合理使用访问修饰符是封装的关键,例如将工具类的方法设为static和public,将敏感数据设为private。
类的实例化与使用
创建类后,需要通过实例化(使用new关键字)来创建对象,然后调用对象的方法或访问其字段(需通过公共方法)。
创建对象
public class Main {
public static void main(String[] args) {
// 实例化Student对象
Student student1 = new Student("张三", 20);
Student student2 = new Student(); // 调用无参构造函数
// 调用方法
System.out.println(student1.getName()); // 输出:张三
student2.setAge(18);
System.out.println(student2.getAge()); // 输出:18
}
}
this关键字
this用于引用当前对象,常用于区分字段名和参数名(如this.age = age),或者在构造函数中调用其他构造函数(this(...))。

public class Student {
private String name;
public Student(String name) {
this.name = name; // this.name指类字段,name指参数
}
}
高级特性
静态成员
使用static关键字修饰的成员(字段、方法、内部类)属于类而非对象,所有对象共享同一份数据,静态方法不能访问非静态成员,可通过类名直接调用(如Math.sqrt())。
public class Student {
private static int studentCount = 0; // 静态字段,记录学生总数
public Student() {
studentCount++; // 每创建一个对象,总数加1
}
public static int getStudentCount() {
return studentCount;
}
}
内部类
内部类定义在另一个类内部,分为成员内部类、静态内部类、局部内部类和匿名内部类,内部类可访问外部类的私有成员,常用于实现类之间的紧密关联。
public class OuterClass {
private String outerField = "外部类字段";
public class InnerClass {
public void display() {
System.out.println(outerField); // 访问外部类私有字段
}
}
}
创建Java类的核心在于定义清晰的属性和行为,并通过封装、访问控制等机制保护数据完整性,从基本的类声明、字段、方法,到构造函数、静态成员和内部类,每个特性都有其特定的应用场景,掌握类的创建与使用,是Java面向对象编程的基础,也是构建复杂系统的关键步骤,通过合理设计类结构,可以写出可维护、可扩展的高质量代码。
















