详解Java面向对象中的继承

 更新时间:2023年05月08日 08:32:45   作者:久绊A  
这篇文章主要介绍了详解Java面向对象中的继承,继承提高代码的复用性:通过继承,子类可以直接使用父类的属性和方法,不需要重复定义,需要的朋友可以参考下

继承的概念

继承是面向对象编程中的一个概念,它允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)的属性和方法。子类在继承父类的同时也可以添加自己的属性和方法,从而实现代码的复用和扩展。继承是面向对象编程的三大特征之一,其他两个分别是封装和多态。

继承的作用

1、提高代码的复用性:通过继承,子类可以直接使用父类的属性和方法,不需要重复定义。

2、便于代码的扩展:通过在子类中添加新的属性和方法,实现了代码的扩展。

3、提高代码的可维护性:将公共的属性和方法放在父类中,可以减少重复的代码,从而方便代码维护和升级。

继承关键字

extends关键字

在 Java 中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类,所以 extends 只能继承一个类。

implements关键字

使用 implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)。

super 与 this 关键字

super关键字:对父类成员的访问;this关键字:调用自己的方法。

继承类型

//extends 单继承
public class A{......}
public class B extends A{......}
//extends 多重继承
public class A{......}
public class B extends A{......}
public class C extends B{......}
//extends 不同类继承同一个类
public class B extends  A{......}
public class C extends A{......}
//implements 多继承
public interface A {......}
public interface B {......} 
public class C implements A,B {......}

类的继承格式

在 Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的,一般形式如下:

class 父类 {
}
class 子类 extends 父类 {
}

实例

// 父类 Animal
class Animal{
    String name;
    public void setName(String name) {
        this.name = name;
    }
    public void eat() {
        System.out.println(name + "正在吃");
    }
}
// 子类 Dog 继承自 Animal
class Dog extends Animal {
    public void bark() {
        System.out.println(name + "正在叫");
    }
}
public class Test {
    public static void main(String args[]) {
        Dog dog = new Dog();
        dog.setName("旺财"); // 设置狗的名字为旺财
        dog.eat(); // 继承自父类 Animal,输出:旺财正在吃
        dog.bark(); // 子类添加的方法,输出:旺财正在叫
    }
}

到此这篇关于详解Java面向对象中的继承的文章就介绍到这了,更多相关Java面向对象继承内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • IntelliJ Plugin 开发之添加第三方jar的示例代码

    IntelliJ Plugin 开发之添加第三方jar的示例代码

    这篇文章主要介绍了IntelliJ Plugin 开发之添加第三方jar的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Spring Security 自动踢掉前一个登录用户的实现代码

    Spring Security 自动踢掉前一个登录用户的实现代码

    这篇文章主要介绍了Spring Security 自动踢掉前一个登录用户的实现代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • 解决mybatis分页插件PageHelper导致自定义拦截器失效

    解决mybatis分页插件PageHelper导致自定义拦截器失效

    这篇文章主要为大家介绍了解决mybatis分页插件PageHelper导致自定义拦截器失效方案示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • SpringBoot项目中使用AOP的方法

    SpringBoot项目中使用AOP的方法

    本篇文章主要介绍了SpringBoot项目中使用AOP的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • spring boot配置ssl(多cer格式)超详细教程

    spring boot配置ssl(多cer格式)超详细教程

    这篇文章主要介绍了spring boot配置ssl(多cer格式)超详细教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-11-11
  • Servlet 过滤器详细介绍

    Servlet 过滤器详细介绍

    这篇文章介绍了Servlet 过滤器,有需要的朋友可以参考一下
    2013-10-10
  • Java 数据结构与算法系列精讲之队列

    Java 数据结构与算法系列精讲之队列

    这篇文章主要介绍了Java队列数据结构的实现,队列是一种特殊的线性表,只允许在表的队头进行删除操作,在表的后端进行插入操作,队列是一个有序表先进先出,想了解更多相关资料的小伙伴可以参考下面文章的详细内容
    2022-02-02
  • eclipse中自动生成构造函数的两种方法

    eclipse中自动生成构造函数的两种方法

    下面小编就为大家带来一篇eclipse中自动生成构造函数的两种方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • java中Ajax与Axios的使用小结

    java中Ajax与Axios的使用小结

    在项目中我们经常会遇到需要向请求头中添加消息的场景,本文主要介绍了java中Ajax与Axios的使用小结,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-02-02
  • Java简单实现SpringMVC+MyBatis分页插件

    Java简单实现SpringMVC+MyBatis分页插件

    自己最近搭建的一个SpringMVC+Mybatis的框架 属于无实体类的框架 并实现了Myabtis的自动分页和总数查询 只要传入分页参数便能自动查询总数和分页 总数封装在参数里面执行查询后可以直接从参数中获取
    2015-09-09

最新评论