1. 什么是面向对象编程(OOP)?
面向对象编程是一种编程范式,它将程序中的数据与操作数据的方法组织为对象。每个对象都可以接收消息、处理数据以及发送消息给其他对象。在Java中,每个对象都是一个类的实例。
2. 核心概念
2.1 类和对象
类(Class):类是定义对象的蓝图或模板。它描述了对象的属性和方法。
public class Person {private String name; // 名字private int age; // 年龄// 空参构造public Person() {}// 有参构造public Person(String name, int age) {this.name = name;this.age = age;}
}
对象(Object):对象是类的实例,它具体化了类的描述,可以操作和访问对象的属性和方法。
public static void main(String[] args) {// 创建Person 实例对象Person person = new Person();person.setName("张三");person.setAge(30);}
2.2 封装(Encapsulation)
封装是面向对象编程的核心原则之一,它将数据和方法结合在一起,隐藏了对象的具体实现细节,仅向外部提供公共的访问方式。
public class Person {private String name; // 名字private int age; // 年龄// 空参构造public Person() {}// 有参构造public Person(String name, int age) {this.name = name;this.age = age;}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;}public void sayHello() {System.out.println("你好 人类");}
}
2.3 继承(Inheritance)
继承允许一个类(子类)基于另一个类(父类)来扩展其属性和方法。子类继承了父类的特征,并可以添加新的特性。
public class Student extends Person{@Overridepublic void sayHello() {System.out.println("你好 同学");}
}
2.4 多态(Polymorphism)
多态允许同一个方法在不同的对象上表现出不同的行为。它通过方法重写(Override)和方法重载(Overload)实现。
public class Main {public static void main(String[] args) {Person person = new Student();person.sayHello(); // 调用Student类中的sayHello方法}
}