Java 对象和类
在 Java 中,对象和类是面向对象编程(OOP)的核心概念。理解它们是学习 Java 编程的关键。
目录
- 类(Class)
- 对象(Object)
- 构造方法(Constructor)
- 访问控制符(Access Modifiers)
- this 关键字
- 静态成员(Static Members)
- 参考资料
- 出站链接
1. 类(Class)
类是对象的模板或蓝图。它定义了对象的属性(字段)和行为(方法)。类描述了对象的结构和功能,而对象是类的实例。类本质上是一种抽象数据类型,包含了构造对象所需的所有信息。
类的基本语法:
public class ClassName {
// 属性(字段)
int age;
String name;
// 方法(行为)
public void displayInfo() {
System.out.println("Name: " + name + ", Age: " + age);
}
}
- 字段(成员变量):描述类的状态或特征。
- 方法(成员方法):描述类的行为或功能。
2. 对象(Object)
对象是类的实例,代表类的具体事物。对象通过 new
关键字创建。每个对象都有自己的属性值和方法,可以通过对象来访问类中的属性和行为。
创建对象的基本语法:
ClassName objectName = new ClassName();
示例:
public class Person {
// 属性
String name;
int age;
// 方法
public void displayInfo() {
System.out.println("Name: " + name + ", Age: " + age);
}
public static void main(String[] args) {
// 创建 Person 类的对象
Person person1 = new Person();
// 赋值
person1.name = "John";
person1.age = 25;
// 调用方法
person1.displayInfo(); // 输出:Name: John, Age: 25
}
}
3. 构造方法(Constructor)
构造方法是用来初始化新创建的对象的特殊方法。当使用 new
关键字创建对象时,构造方法会被自动调用。构造方法的名字必须与类名相同,并且没有返回类型。
构造方法的语法:
public ClassName() {
// 初始化对象的操作
}
示例:
public class Car {
String brand;
int year;
// 构造方法
public Car(String brand, int year) {
this.brand = brand;
this.year = year;
}
public void displayInfo() {
System.out.println("Brand: " + brand + ", Year: " + year);
}
public static void main(String[] args) {
// 创建对象并调用构造方法
Car myCar = new Car("Toyota", 2020);
myCar.displayInfo(); // 输出:Brand: Toyota, Year: 2020
}
}
4. 访问控制符(Access Modifiers)
Java 提供了访问控制符来控制类、方法、字段的访问权限。常见的访问控制符有:
- public:类、方法或字段可以被任何其他类访问。
- private:类、方法或字段只能在当前类内部访问。
- protected:类、方法或字段可以在当前类、子类以及同一包内的类中访问。
- default(包级访问):如果没有指定访问控制符,默认情况下类、方法或字段只能在同一包内访问。
示例:
public class Person {
private String name; // 私有属性
private int age;
// 公有方法
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void displayInfo() {
System.out.println("Name: " + name + ", Age: " + age);
}
public static void main(String[] args) {
Person person = new Person();
person.setName("Alice");
person.setAge(30);
person.displayInfo(); // 输出:Name: Alice, Age: 30
}
}
5. this 关键字
this
关键字用于指代当前对象的实例。它常用于区分实例变量和局部变量,尤其是在构造方法或方法中,避免变量名冲突。
示例:
public class Student {
String name;
int age;
public Student(String name, int age) {
this.name = name; // 使用 this 关键字区分实例变量和参数
this.age = age;
}
public void displayInfo() {
System.out.println("Name: " + name + ", Age: " + age);
}
public static void main(String[] args) {
Student student = new Student("Tom", 20);
student.displayInfo(); // 输出:Name: Tom, Age: 20
}
}
6. 静态成员(Static Members)
静态成员是类级别的成员,它们属于类本身而不是对象。静态方法和静态字段可以通过类名直接访问,无需创建对象。
示例:
public class Counter {
static int count = 0; // 静态字段
public Counter() {
count++; // 每次创建对象时,count 增加
}
public static void displayCount() {
System.out.println("Count: " + count);
}
public static void main(String[] args) {
new Counter(); // 创建对象
new Counter();
Counter.displayCount(); // 输出:Count: 2
}
}
发表回复