Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java面向对象的特征

作者:空白篇pia~   发布日期:2026-04-02   浏览:91

// 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(); // 输出: 喵喵
    }
}

解释说明:

  1. 封装(Encapsulation)

    • Person 类中的 nameage 属性被声明为 private,这意味着它们不能被类的外部直接访问。
    • 提供了公共的 gettersetter 方法来访问和修改这些私有属性,确保了数据的安全性和完整性。
  2. 继承(Inheritance)

    • Student 类继承了 Person 类,因此它可以使用 Person 类中定义的所有非私有属性和方法。
    • Student 类还可以添加自己的新属性(如 studentID)和方法。
  3. 多态(Polymorphism)

    • Animal 类定义了一个 makeSound 方法,而 DogCat 类分别重写了这个方法以实现不同的行为。
    • Main 类中,我们创建了 DogCat 对象,并将它们赋值给 Animal 类型的变量。通过调用 makeSound 方法,可以看到不同子类的具体实现。

上一篇:java加密算法

下一篇:java解析json格式的文件

大家都在看

java url decode

java判断是windows还是linux

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java list 查找

java 解压rar

java读取excel中的图片

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站