• 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
     

  • 相关阅读:
    sql注入 [极客大挑战 2019]LoveSQL 1
    阿里云将投入70亿元建国际生态、增设6大海外服务中心
    刷爆力扣之盛最多水的容器
    数据库SQL优化总结
    1572.矩阵对角线元素的和
    C# 给List编个序号
    逻辑回归(Logistic Regression)
    基于51单片机的智能遥控晾衣架温度湿度光强检测proteus仿真原理图PCB
    【Azure Developer】使用 adal4j(Azure Active Directory authentication library for Java)如何来获取Token呢 (通过用户名和密码方式获取Access Token)
    微服务篇-B 深入理解SOA框架(Dubbo)_I 服务注册和发现(学习总结)
  • 原文地址:https://blog.csdn.net/weixin_63645714/article/details/132654625