面向对象的原则

本文详细介绍了Java中的继承概念,包括继承的基本语法、方法的重写与重载的区别、初始化顺序、final关键字的用法、super关键字的应用以及Object类的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、继承
继承的概念:

继承是类与类的一种关系比如“狗”继承“动物”,这里动物类是狗类的父类或者基类,狗类是动物类的子类或者派生类。

注:java中的继承是单继承,即一个类只有一个父类。 

继承的好处:

子类拥有父类的所有属性和方法(除了private修饰的属性不能拥有)从而实现了实现代码的复用; 

语法规则:

只要在子类加上extends关键字继承相应的父类就可以了:

A、方法的重写 

子类如果对继承的父类的方法不满意(不适合),可以自己编写继承的方法,这种方式就称为方法的重写。当调用方法时会优先调用子类的方法。

重写要注意:

        a、返回值类型

        b、方法名

        c、参数类型及个数

都要与父类继承的方法相同,才叫方法的重写。

重载和重写的区别:

        方法重载:在同一个类中处理不同数据的多个相同方法名的多态手段。

        方法重写:相对继承而言,子类中对父类已经存在的方法进行区别化的修改。

B、继承的初始化顺序

1、初始化父类再初始化子类

2、先执行初始化对象中属性,再执行构造方法中的初始化。

基于上面两点,我们就知道实例化一个子类,java程序的执行顺序是:

父类对象属性初始化---->父类对象构造方法---->子类对象属性初始化--->子类对象构造方法  

C、final关键字

使用final关键字做标识有“最终的”含义。

        1. final 修饰类,则该类不允许被继承。

        2. final 修饰方法,则该方法不允许被覆盖(重写)。

        3. final 修饰属性,则该类的该属性不会进行隐式的初始化,所以 该final 属性的初始化属性必须有值,或在构造方法中赋值(但只能选其一,且必须选其一,因为没有默认值!),且初始化之后就不能改了,只能赋值一次。

        4. final 修饰变量,则该变量的值只能赋一次值,在声明变量的时候才能赋值,即变为常量。

D、super关键字

在对象的内部使用,可以代表父类对象。

        1、访问父类的属性:super.age

        2、访问父类的方法:super.eat()

        要注意的是:如果子类构造方法中既没有显示调用父类的构造方法,而父类没有无参的构造方法,则编译出错。

E、Object类

Object类是所有类的父类,如果一个类没有使用extends关键字明确标识继承另一个类,那么这个类默认继承Object类。

Object类中的方法,适合所有子类!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值