Java面向对象 - 类与对象
在Java编程中,面向对象(Object-Oriented Programming, OOP)是一种重要的编程范式,它通过将数据和操作这些数据的代码封装在一起,促进了代码的复用性和可维护性。面向对象编程的核心概念包括类与对象、继承、多态和封装。
1. 类与对象的定义
类(Class)
类是对象的蓝图或模型。它定义了一组属性(字段)和方法(函数),表示这个类的对象所具有的状态和行为。通过类,开发者可以创建出具有相似特征和功能的对象。
对象(Object)
对象是类的实例。通过类定义的模板,实际创建的具体存在就是对象。每个对象拥有独立的属性值,但它们的行为由类定义。
2. 类的基本结构
在Java中,类的基本结构如下:
public class Person {
// 属性
private String name;
private int age;
// 构造方法
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 方法
public void introduce() {
System.out.println("你好,我是" + name + ",今年" + age + "岁。");
}
// Getter和Setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
代码解读
-
属性:在
Person
类中,定义了两个私有属性name
和age
,分别表示人的姓名和年龄。 -
构造方法:构造方法用于创建对象时初始化属性。此处的构造方法接受两个参数并使用
this
关键字为对象的属性赋值。 -
方法:
introduce()
方法用于输出对象的简单介绍。通过方法,可以定义对象的行为。 -
Getter和Setter:这些方法用于获取和设置属性的值。私有属性可以通过公共的方法访问,保证了封装。
3. 创建对象
一旦定义了类,就可以根据类来创建对象。示例如下:
public class Main {
public static void main(String[] args) {
// 创建对象
Person person1 = new Person("张三", 25);
Person person2 = new Person("李四", 30);
// 调用方法
person1.introduce();
person2.introduce();
}
}
代码解读
在Main
类的main
方法中,我们创建了两个Person
对象person1
和person2
,并分别为它们赋值。接着,调用introduce()
方法来打印出每个人的介绍。
4. 类的封装、继承和多态
在Java中,面向对象的三大特性非常重要。封装是通过访问修饰符控制对类成员的访问;继承允许新类获得父类的特性;多态则允许方法在不同对象上有不同的表现。
示例:继承和多态
public class Student extends Person {
private String school;
public Student(String name, int age, String school) {
super(name, age); // 调用父类构造方法
this.school = school;
}
@Override
public void introduce() {
super.introduce(); // 调用父类的方法
System.out.println("我在" + school + "上学。");
}
}
在这个示例中,Student
类继承自Person
类,并重写了introduce()
方法,以添加学生的学校信息。
通过以上示例,我们可以看到,Java的面向对象编程模式使代码结构清晰,功能模块化,便于管理与扩展。在实际开发中,合理使用类与对象可以帮助我们更高效地解决问题。