// 面向对象的三大特性:封装、继承、多态
// 1. 封装 (Encapsulation)
class Person {
// 私有属性,外部无法直接访问
private String name;
private int age;
// 提供公共方法来访问私有属性
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if (age > 0 && age < 120) {
this.age = age;
} else {
System.out.println("年龄输入不合法");
}
}
}
// 2. 继承 (Inheritance)
class Student extends Person {
private String studentId;
public String getStudentId() {
return studentId;
}
public void setStudentId(String studentId) {
this.studentId = studentId;
}
// 可以重写父类的方法
@Override
public String toString() {
return "Student{name='" + super.getName() + "', age=" + super.getAge() + ", studentId='" + studentId + "'}";
}
}
// 3. 多态 (Polymorphism)
class Animal {
public void makeSound() {
System.out.println("动物发出声音");
}
}
class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("汪汪汪");
}
}
class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("喵喵喵");
}
}
public class Main {
public static void main(String[] args) {
// 封装示例
Person person = new Person();
person.setName("张三");
person.setAge(25);
System.out.println(person.getName() + " 的年龄是 " + person.getAge());
// 继承示例
Student student = new Student();
student.setName("李四");
student.setAge(20);
student.setStudentId("2023001");
System.out.println(student);
// 多态示例
Animal animal1 = new Dog();
Animal animal2 = new Cat();
animal1.makeSound(); // 输出: 汪汪汪
animal2.makeSound(); // 输出: 喵喵喵
}
}
上一篇:java random
下一篇:java构造函数
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站