一篇文章带你了解JAVA面对对象之继承与修饰符

 更新时间:2021年08月04日 14:55:12   作者:H-Booker  
这篇文章主要介绍了Java面向对象编程之类的继承,结合实例形式较为详细的分析了Java面向对象编程类的概念、功能、使用方法及相关注意事项,需要的朋友可以参考下

Java面向对象之继承与修饰符

继承

1.含义

继承是面向对象三大特征之一,能使子类具有父类的属性和方法,还可以在子类中重新定义,和追加属性和方法。

2.实现

继承通过extends实现

class +子类 +extends+父类{ }

3.好处

继承可以让不同类之间产生关系,子类可以使用父类中的私有成员。

提高了代码的复用性。(相同成员放在一个类)

提高了代码的维护性。

4.短处

继承让类与类之间产生了关系,类的耦合性增强了,但降低了子类的独立性。【耦合性耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。】

5.成员变量的访问特点

采用就近原则(子类局部—>子类成员---->父类成员)

6.super () 方法

super 代表对父类对象的引用。

7.继承中结构方法的访问特点

子类会继承父类中的数据,可能还会使用父类的数据。所以,子类初始化之前,一定要先完成父类数据的初始化,原因在于,每一个子类构造方法的第一条语句默认都是:super()。所以如果父类中没有无参构造方法,只有带参构造方法时,我们应该在父类中自己提供一个无参构造方法或者通过super去调用父类的带参构造方法。

8.方法重写

当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法,这样,即沿袭了父类的功能,又定义了子类特有的内容。

注意

1. 私有方法不能被重写(父类私有成员子类是不能继承的)

2. 子类方法访问权限不能更低(public > 默认 > 私有)

9.java继承的注意事项

java类中只支持单继承,不支持多继承class A extends B, C { } //错误示范 ;但是支持多层继承,举个例子:爸爸,爷爷和儿子;爸爸继承爷爷,儿子继承爸爸,儿子就间接继承了爸爸和爷爷两个人的属性。

修饰符

1.package

2.import

3.权限修饰符

在这里插入图片描述

4.final

                * fianl修饰类:该类不能被继承(不能有子类,但是可以有父类)
                * final修饰方法:该方法不能被重写
                * final修饰变量:表明该变量是一个常量,不能再次赋值

5.ianl修饰基本数据类型变量

* final 修饰指的是基本类型的数据值不能发生改变

6.final修饰引用数据类型变量

  * **final 修饰指的是引用类型的地址值不能发生改变,但是地址里面的内容是可以发生改变的**
  * `public static void main(String[] args){
                     final Student s = new Student(23);
                     s = new Student(24);  // 错误
                     s.setAge(24);  // 正确
                   }

7.static

*含义:static关键字是静态的意思,可以修饰(成员方法),(成员变量)。

特点:被类的所有对象共享,这也是我们判断是否使用静态关键字的条件。

8.static访问的特点

        1. 非静态的成员方法
           * 能访问静态的成员变量
           * 能访问非静态的成员变量
           * 能访问静态的成员方法
           * 能访问非静态的成员方法
       2. 静态的成员方法
            能访问静态的成员变量
            能访问静态的成员方法

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • SpringBoot使用SOFA-Lookout监控的方法

    SpringBoot使用SOFA-Lookout监控的方法

    本文介绍SpringBoot使用蚂蚁金服SOFA-Lookout配合Prometheus进行监控,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • JAVA自定义异常使用方法实例详解

    JAVA自定义异常使用方法实例详解

    这篇文章主要介绍了JAVA自定义异常使用方法实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Spring Security跳转页面失败问题解决

    Spring Security跳转页面失败问题解决

    这篇文章主要介绍了Spring Security跳转页面失败问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Spring Cache与Redis结合的使用方式

    Spring Cache与Redis结合的使用方式

    这篇文章主要介绍了Spring Cache与Redis结合的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • spring boot 2.x html中引用css和js失效问题及解决方法

    spring boot 2.x html中引用css和js失效问题及解决方法

    这篇文章主要介绍了spring boot 2.x html中引用css和js失效,需要的朋友可以参考下
    2018-11-11
  • JAVA Comparator 和 Comparable接口使用方法

    JAVA Comparator 和 Comparable接口使用方法

    本文介绍了Java中Comparable和Comparator接口的使用,包括它们的定义、方法和应用场景,Comparable用于定义类的自然排序规则,而Comparator提供了一种灵活的方式来定义对象之间的排序规则,无需修改类本身,感兴趣的朋友一起看看吧
    2025-03-03
  • SpringBoot使用过滤器、拦截器和监听器的案例代码(Springboot搭建java项目)

    SpringBoot使用过滤器、拦截器和监听器的案例代码(Springboot搭建java项目)

    这篇文章主要介绍了SpringBoot使用过滤器、拦截器和监听器(Springboot搭建java项目),本文是基于Springboot搭建java项目,结合案例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • Java OpenCV图像处理之仿射变换,透视变换,旋转详解

    Java OpenCV图像处理之仿射变换,透视变换,旋转详解

    这篇文章主要为大家详细介绍了Java OpenCV图像处理中仿射变换,透视变换,旋转的实现,文中的示例代码讲解详细,快跟随小编一起学习一下
    2022-10-10
  • Spring createBeanInstance实例化Bean

    Spring createBeanInstance实例化Bean

    这篇文章主要为大家介绍了Spring createBeanInstance实例化Bean源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • idea springboot远程debug的操作方法

    idea springboot远程debug的操作方法

    这篇文章主要介绍了idea springboot远程debug的操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10

最新评论