java学习第12天学习总结

本文探讨了Java中的继承机制、方法重写(Override)和多态,包括单继承特点、super关键字的应用、覆写条件、final特性、多态原理及在软件设计原则中的作用。通过实例解析,展示了如何利用这些概念提高代码效率和可扩展性。

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

一.继承

继承:1).继承是从已有类,派生新的类,新的类拥有父类的属性和行为.并且还能扩展新的属性和行为.

2).java中只支持单继承,不支持多继承,这样可以让java继承更加简单,  一个类只拥有一个父类. 一个父类可以有多个子类. 易于维护和管理

3).继承是可以传递的.  比如A继承B , B继承c 所以A会有C的属性

4).私有属性和构造方法是不能被继承的.

5).如果一个类没有显示继承其他类,则该类继承Object

Java.lang.object是java提供的根类

Object中的功能,是所有类对象都有的

解决的问题:提高了代码的效率,避免了代码的重写,提高了代码的重用性

二.Super

 是什么?
1).保存父类型的特征

2).在继承关系体系中,可以通过super表示父类的数据

能做什么?

1).用于成员/构造方法中,区分父类和子类同名的数据(同名后,子类的优先级是高于父类的,所以想使用父类得话就得用super.xxx)

2).用在子类构造方法中,调用指定的父类构造方法

语法:super(参数); 他必须在子类构造方法的第一行. 如果子类构造方法中没有this 也没有super 则有一个默认的super去调用父类中的无参构造.this和super都必须在第一行所以他们两个不可能同时出现;

3).this和super都不能出现在静态上下文中

不同的地方:this区分局部变量和成员变量; super区分父类和子类中的同名属性

三.Override

1.Override是方法重写/覆写/覆盖. 覆写特指成员方法,除了成员方法都不能被重写

2.何时需要方法重写:当父类的功能满足不了子类的时候

3.覆写的条件

1).有继承关系

2).方法名必须保持一致

3).参数列表必须一致   如果不一致的话就成了方法重载了

4).返回值必须一致

5).不能有更多的异常

6).不能有更低的访问权限

方法重写的意义

功能越来越强,使用范围越来越广,错误越来越少

四.Final

Final修饰符表示最后的,最终的是不可更改的

类:final修饰的类不能被继承

变量:没有默认值,不能二次赋值,必须显示赋值(不能有不赋值的情况)

方法:修饰成员变量,不能被重写

易错点:final修饰的变量不可更改,但是变量指向的值可以更改

五.多态

软件设计的六大原则:

1.单一职责原则:

原则思想:一个方法只做一个事,一个类只负责一个职责,这样当前指责改动,不会对其他程序产生影响

优点:降低类和类之间的耦合度,提高可读性,可维护性,可扩展性,降低可变风险

2.里氏替换原则:

原则思想:能使用父类的地方,就一定可以使用子类.子类可以扩展父类的功能,但是不能更改父类的功能,并且子类还有自己特有的功能.

优点:

3.依赖倒置原则

原则思想:高层次不应该依赖于低层次,都应该以来于抽象

优点:包含多种变化,可以减少需求带来的工作量

4.接口隔离原则

原则思想:类和接口之间应建立在最小接口之上

5.迪米特原则

原则思想:又称最少只是原则.一个对像尽可能的少了解其他对象,一个类中尽量减少对其他类的依赖

6.开闭原则

原则思想:对修改关闭,对扩展开放.尽量通过软件实体,来解决需求的变化,而不是通过修改已有代码来完成的变化

六.什么是多态     父类的引用指向子类

父类引用:使用父类类型,创建的引用类型的变量

指向:同过这个引用可以找到谁

有变量的地方就能发生多态,并多态发生在赋值的时候

   2.多态的几种形式:

1).直接多态: 父类类型  变量名=new 子类();

2).形参/实参:参数列表用父类声明, 调用方法传递子类对象

3).返回值多态: 返回值类型是父类类型  但是返回值对象是子类对象

3.多态进行属性调用

1).父类没有的都调用不了(缺点:丢失子类特有的属性)

2).父类有的,子类没有的执行父类

3).父类和子类都有,除了成员方法执行子类,其他全部执行父类(因为只有成员方法可以覆写)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值