继承、抽象类、代码块

1.1  继承入门

1.1.1  什么是继承?关键字是什么?

  1. 让类与类之间产生关系(子父类关系)

  2. extends


1.2.1 继承的好处和弊端

  1. 继承有哪些好处和弊端?

    好处:提高了代码的复用性和维护性&&多态的前提&&子类可以使用父类非私有的成员(方法、变量)

    弊端:继承让类与类之间产生了关系,类的耦合性增强了,当父类发生变化时子类实现也不得不跟着变化,削弱了子类的独立性  提高了代码之间的耦合性。
  2. 为什么要使用继承?

    当类与类之间,存在相同(共性)的内容,并且产生了is a的关系,就可以考虑使用继承,来优化代码。比如老师和学生都是人,所以就可以把人抽取成父类,他们两个类进行继承

1.3.1  继承的特点

java中的类,只支持单继承和多层继承,不支持多继承

为什么?

如果两个父类中有相同的方法,子类不知道使用的是哪一个

1.4.1  继承中成员变量的访问特点

  1. 在子类中使用,子父类同名的成员变量时,优先用谁的?

    • 优先使用子类自己的,自己没有,才会找父类。

  2. 子父类中有同名的成员变量,如何直接访问父类的成员变量?

    • super.成员变量。

    • super: 直接指向父类

       

this和super的区别  

 1.5.1  继承中成员方法的访问特点

 

看测试类的调用流程,然后看括号中的方法,如果没有加this和super关键字,括号中的方法会默认加上this ,也就是默认去访问成员方法

 1.5.1  方法重写概述和应用场景

  1. 什么是方法重写?

    • 子父类关系中,两个方法完全相同,则是方法重写。

  2. 为什么要有方法重写?

    • 因为父类方法无法满足子类需求,所以子类自己写方法将父类方法覆盖,进行增强

 

 

1.6.1  继承中构造方法的访问特点

 

2.1  抽象类

2.1.1  抽象类的概述

2.1.2  抽象类的注意事项

不能实例化,就是不能创建对象

3.1.1  final关键字

 

 修饰变量是引用类型,表示地址值不能改变:

 比如你有个类,类中有个成员方法,提供了getset方法,然后你再测试类去new了这个类

 并且在创建对象的前面加了final关键字

 第一次你通过set方法给其成员变量赋值,赋值成功,第二次也可以,不管多次都可以,但是你再

 去new这个类,就会报错,也就是说地址值只有一个,只能创建一个对象

 修饰成员变量需要注意,如果不是如下两种操作,都将报错

4.1.1  代码块

下面输出"a"为什么会报错,因为代码块中的a用完释放了,而a是在代码块中定义的

 

测试方法启动,输出"我是构造代码块","空参构造方法",也就是创建对象就会在对象之前执行

 静态代码块当中的数据只会初始化一次

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值