• 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
     

  • 相关阅读:
    9-ts抽象类
    07 Spring事务
    LQ0265 汉诺塔【水题】
    【分享】golang windows 运行报错 undefined: syscall.SIGUSR1
    单目标应用:求解旅行商问题(TSP)的猎豹优化算法(The Cheetah Optimizer,CO)提供MATLAB代码
    Service Worker cache 相比 HTTP cache 的一些优点
    6、Spring cloud注册中心之consul
    百度搜索智能化算力调控分配方法
    封箱vs拆箱
    java.sql.SQLException: Cannot set createTime: incompatible types
  • 原文地址:https://blog.csdn.net/weixin_63645714/article/details/132654625