• Java面向对象—继承


    Java是一种面向对象的编程语言,它支持类、对象、封装、继承、多态等面向对象的概念和编程范式。

    继承:

    Java 是一种面向对象的编程语言,支持继承的概念。继承是指一个类可以从另一个类继承属性和方法,被继承的类称为父类或超类,继承的类称为子类或派生类。继承可以大大提高代码的重用性和可维护性。

    继承是指子类继承父类的属性和方法,并且还可以在此基础上扩展出新的属性和方法。在Java中使用extends关键字实现继承,子类可以访问父类的非private属性和方法。

    Java 的继承机制可以通过 extends 关键字来实现。语法格式如下:

    1. class Subclass extends Superclass {
    2. // Subclass 继承了 Superclass 的属性和方法
    3. // 子类可以自定义自己的属性和方法
    4. }

    在继承关系中,子类可以访问父类的 public 和 protected 属性和方法,但不能访问父类的 private 属性和方法。如果子类需要重写父类的方法,可以使用 @Override 注解来标记。

    Java 中的继承还有一些特殊的关键字和概念,比如 super 关键字表示父类的引用,使用 super 可以调用父类的构造方法和方法;final 关键字可以防止类被继承,也可以防止方法被重写;抽象类和接口等也与继承有关系。

    总之,在 Java 中,继承是一个非常重要的概念,掌握好继承机制可以让我们更好地编写面向对象的程序。

    下面说一下实例帮助理解:

    我们可以创建一个名为Employee的父类,它具有姓名、年龄和职位等属性,以及用于设置和获取这些属性的方法:
     

    1. public class Employee {
    2. private String name;
    3. private int age;
    4. private String position;
    5. }

    然后我们可以创建一个名为`Manager`的子类,它继承自`Employee`类,并具有一些额外的属性和方法:
     

    1. public class Manager extends Employee {
    2. private double salary;
    3. // 构造方法、getter和setter方法
    4. }

    现在,`Manager`类不仅具有`Employee`类的所有属性和方法,还具有自己的`salary`属性和相应的getter和setter方法。

    下面是一个简单的示例,演示如何使用继承创建`Employee`和`Manager`类:
     

    1. public class Employee {
    2. private String name;
    3. private int age;
    4. private String position;
    5. public Employee(String name, int age, String position) {
    6. this.name = name;
    7. this.age = age;
    8. this.position = position;
    9. }
    10. public String getName() {
    11. return name;
    12. }
    13. public int getAge() {
    14. return age;
    15. }
    16. public String getPosition() {
    17. return position;
    18. }
    19. public void setName(String name) {
    20. this.name = name;
    21. }
    22. public void setAge(int age) {
    23. this.age = age;
    24. }
    25. public void setPosition(String position) {
    26. this.position = position;
    27. }
    28. }
    29. public class Manager extends Employee {
    30. private double salary;
    31. public Manager(String name, int age, String position, double salary) {
    32. super(name, age, position);
    33. this.salary = salary;
    34. }
    35. public double getSalary() {
    36. return salary;
    37. }
    38. public void setSalary(double salary) {
    39. this.salary = salary;
    40. }
    41. }
    42. public class Main {
    43. public static void main(String[] args) {
    44. Manager manager = new Manager("John Doe", 35, "Manager", 80000.0);
    45. System.out.println("Name: " + manager.getName());
    46. System.out.println("Age: " + manager.getAge());
    47. System.out.println("Position: " + manager.getPosition());
    48. System.out.println("Salary: " + manager.getSalary());
    49. }
    50. }

    这个示例展示了如何使用继承创建`Employee`和`Manager`类,并在`Main`类中实例化一个`Manager`对象。输出结果如下:


    Name: John Doe
    Age: 35
    Position: Manager
    Salary: 80000.0
     

  • 相关阅读:
    WPF 制作 Windows 屏保
    VRTK4⭐一.VRTK4和VRTK的区别 , 及VRTK4简介
    卷积神经网络到底是什么,卷积神经网络是一种
    C语言经典算法实例6:斐波那契数列
    【2022版】Spring面试题整理(含答案解析)
    03 React 面向组件编程
    本地部署Element-Plus开发文档
    ESP8266-Arduino编程实例-BMM150数字地磁传感器驱动
    netty 客户端 实现断开重连
    浅论前后端分离模式:低代码强势推动开发效率提升
  • 原文地址:https://blog.csdn.net/weixin_63645714/article/details/132654625