Java学习第7天——继承的概念及作用、方法重写、this、super、final的使用

前言

学习了继承的概念及作用、方法重写、this的使用、super的使用


一.继承的概念及作用

1.什么是继承

        子类继承父类

2.继承的作用

        子类扩展父类的属性以及方法,就是为了实现代码的复用(继承在Java中只能单继承,不能多继承)

        1、实现代码复用、减少代码冗余 2、方便维护 3、多态的前提

3.继承的注意

  1. 子类可以继承父类中有权限访问的属性以及方法
  2. 所有的引用类型都默认继承了超类Object

  3. Java中只有单继承,没有多继承,但是有继承链 Doctor --> Person --> Object

  4. extends 扩展 -- 继承 

  5. 子类继承父类的所有东西?应该是子类有权限继承的属性和方法 所以,一般来说父类中的属性和方法设置为public

二.方法重写

1.什么是方法重写

子类重写父类的方法(子类覆盖父类的方法)

2.方法重写的目的是什么

凸显出子类的行为特征

3.方法重写的用法(两同,一大,两小)

  • 方法名相同、方法参数列表相同

  • 和方法修饰符、返回值类型有关

    • 子类重写父类的方法,子类方法的权限修饰符比父类的或者相等

    • 子类重写父类的方法,子类的返回值类型比父类的或者相等【引用类型】【基本数据类型要一致】

    • 子类重写父类的方法,子类的抛出的异常类型要比父类的或者相等

  • 当子类中有和父类一样的私有化方法,那么子类的私有化方法是一个普通方法,并不是重写了父类的方法

4.方法重写和方法重载的区别

    方法重写:子类重写父类方法,凸显出子类的行为特征

    方法重载:在同一个类中,同一种行为的不同的体现

1.方法重写存在于继承链中,方法重载存在于同一个类中

2.方法重写是和修饰符以及返回值是有关系的,而方法重载是没有关系的

3.方法重写方法名和参数列表是一样的,但是方法重载是方法名一致,参数列表不一致

继承链

Ostrich-->Bird-->Animal-->Object

Ostrich-->Animal

三.this的使用

1.什么是this

        this表示的是调用当前方法的实例对象的引用

2.this的用法

        1.用于区分同名的成员变量和局部变量

        2. 在本类的非静态方法中调用非静态的属性以及方法可以省略对象,原因是省略this.

        3.可以使用this调用本类另一个构造器,但是要注意构造器的调用必须要在构造器的第一行

 3.this注意事项

        注意:this不能在static修饰的代码块中使用(原因:this是一个对象的引用,是真实存在的;在static的代码块中this不能指向明确的真实对象)

四.super的使用

前言

        在java中创建对象时,首先会先创建父类的对象,再创建本类的对象

        Person p = new Person();

1.什么是super

        super表示为当前类的父类的对象

2.super的用法

  • super可以调用父类的构造器,必须要在构造器的第一行
  • super可以调用父类的属性和方法

  • 父类的成员变量存放在父类的对象,而不是在子类的对象中

  • 而子类中定义的成员变量,还是存放在子类的对象中【成员变量由始至终都是只有一个】

  • super和this一样,都表示为一个对象引用,所以不能在静态代码块中使用

  • 在构造器中super();写和不写都一样,因为系统会默认调用父类的无参构造器创建父类的对象

五、final的使用

1.什么是final

        使用final修饰类,则表示为当前类是一个最终类,不能被继承

2.final的用法

  • 用于修饰类、变量、常量、方法
  • final修饰类 为最终类 ,则不能给子类继承

  • final修饰方法,则该方法不能被重写

  • final修饰变量,要先进行赋值(初始化),赋值(初始化)后该变量的值不能被修改

    • 类型为基本数据类型,赋值(初始化)后该变量的值不能被修改

    • 类型为引用类型,则不能赋值一个新的对象,但是可以修改对象中成员变量的数值

  • final修饰局部变量,不要求先进行赋值(初始化),但是赋值(初始化)后该变量的值不能被修改                 

总结

学习了继承的概念及作用、方法重写、this、super、final的使用

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值