// Java面向对象的特征示例代码
// 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) {
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;
}
}
// 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("S123456");
System.out.println("学生姓名: " + student.getName() + ", 学生年龄: " + student.getAge() + ", 学号: " + student.getStudentID());
// 多态示例
Animal myDog = new Dog();
Animal myCat = new Cat();
myDog.makeSound(); // 输出: 汪汪
myCat.makeSound(); // 输出: 喵喵
}
}
封装(Encapsulation):
Person 类中的 name 和 age 属性被声明为 private,这意味着它们不能被类的外部直接访问。getter 和 setter 方法来访问和修改这些私有属性,确保了数据的安全性和完整性。继承(Inheritance):
Student 类继承了 Person 类,因此它可以使用 Person 类中定义的所有非私有属性和方法。Student 类还可以添加自己的新属性(如 studentID)和方法。多态(Polymorphism):
Animal 类定义了一个 makeSound 方法,而 Dog 和 Cat 类分别重写了这个方法以实现不同的行为。Main 类中,我们创建了 Dog 和 Cat 对象,并将它们赋值给 Animal 类型的变量。通过调用 makeSound 方法,可以看到不同子类的具体实现。上一篇:java加密算法
下一篇:java解析json格式的文件
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站