如何通过Java代码示例来展示面向对象的三大特性:封装、继承和多态?
时间: 2024-12-07 15:27:35 浏览: 30
理解面向对象的三大特性——封装、继承和多态是Java面试中的常见问题,也是实际开发中的核心概念。下面将通过简单的代码示例来展示这些特性:
参考资源链接:[Java面试必备:语言特性与面向对象解析](https://wenku.csdn.net/doc/32g6bsyr0k?spm=1055.2569.3001.10343)
1. **封装**:封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。在Java中,通常通过使用访问修饰符(如private, protected, public)来控制类内部的数据,以实现封装。例如:
```java
public class Person {
private String name; // 私有属性
public Person(String name) {
this.name = name;
}
// 提供公共方法访问私有属性
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
```
在这个例子中,`name`属性被声明为私有(private),外部无法直接访问和修改,只能通过`setName`和`getName`这两个公共方法进行操作。
2. **继承**:继承是面向对象编程中一个类能够从另一个类派生出新的子类的特性,新的子类会继承父类的属性和方法。例如:
```java
public class Student extends Person { // Student 继承自 Person 类
private int score;
public Student(String name, int score) {
super(name); // 调用父类的构造方法
this.score = score;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
}
```
`Student`类继承了`Person`类,拥有了`Person`类中的所有属性和方法,同时可以添加自己的特有属性`score`。
3. **多态**:多态是指允许不同类的对象对同一消息做出响应。在Java中,多态的实现依赖于继承和接口。多态让程序有更灵活、更低耦合的设计。例如:
```java
public class School {
public void printStudentInfo(Person student) {
System.out.println(student.getName());
}
}
public class Test {
public static void main(String[] args) {
Person person = new Person(
参考资源链接:[Java面试必备:语言特性与面向对象解析](https://wenku.csdn.net/doc/32g6bsyr0k?spm=1055.2569.3001.10343)
阅读全文