Day07第七天java基础----------继承
来源:互联网 发布:淘宝上有什么好东西 编辑:程序博客网 时间:2024/05/17 15:41
------- android培训、java培训、期待与您交流! ----------
1、继承的好处:
(1)、提高代码的复用性。
(2)、让类与类之间产生了关系,有了这样的关系才有了多态的特性。
2、继承的注意点:
一定不要为了获取其他功能简化代码而继承,必须是类与类之间的所属关系才可以有继承的关系
所属关系是is a。
3、什么是继承:
继承就是找到类共性的内容,不断的向上抽取出来的而形成的新类。
4、在java语言中只能有单继承不能有多继承,是因为如果存在在多继承的话,类如果继承了这几个父类的不
并不知道应该具体的区执行那个父类,所以不允许有多继承。
5、如何使用继承体系中的功能:
查阅父类功能,创建子类对象并使用功能。
6、引用:
this代表子类的引用,super代表父类的引用。
7、重写:
保留父类的功能,并重写功能的内容。
8、重写于重载:
重载:只看同名函数的参数列表。
重写:子类和父类的方法要一模一样。
9、子类和父类的构造函数不能重写。因为子类和父类的构造方法的名字根本就不可能相同。
结论:
在子类的构造方法中有一句默认的super(),子类的所有的构造函数都会默认的访问父类中的
空参数的构造函数,因为每个子类的构造函数的第一行都会有一句隐式的super(),
当父类中没有空参数的构造函数时,子类必须通过手动的调用super()或this()的形式
来指定访问父类中的构造函数。
当然子类中的第一行也可以手动的调用this()语句来访问本类中的构造函数
10、super写在第一行的原因:是因为初始化的动作要先做。
11、final(最终的):
(1)、可以修饰类变量和函数。
(2)、被final修饰的类不可以被继承,作用是为了避免被继承,被子类所覆写功能。
(3)、被final修饰的方法不可以被覆写。
(4)、被final修饰的变量为常量,只能被赋值一次,赋值后不能再被赋值,final既可以修饰
成员变量,也可以修饰局部变量,
这样写的原因是有一些的数值是固定的,为了增强阅读性和方便阅读,而这个值不需要在改
变的时候就用final来修饰。
12、abstract(抽象):
抽象方法必须存在抽象类中,也就是说你的方法用abstract修饰了 你的类
就一定也的用abstract来修饰。
13、抽象类的特点:
(1)、抽象方法一定定义在抽象类中。
(2)、抽象方法和抽象类都必须被abstract来修饰
(3)、抽象类不可以用new来创建对象,因为抽象类中的方法是抽象的 说的通俗点就是抽象方法
看不懂 无法建立对象。
(4)、抽象类中的方法被使用时候,必须被子类中的方法所覆写后才能够使用,
(5)、如果子类只覆写了父类中的一部分的抽象方法,子类还是一个抽象类,因为子类继承了
父类中的所有方法,只是覆写了其中的一部分,并没有全部覆写,还有抽象的方法,所以是抽象的
14、 抽象类和一般类的区别:
抽象类和一般类有点不同,但是写抽象类的时候该怎么写还怎么写,只是在其中定义了一些没有主题的
方法,通过抽象方法来表示,所以说抽象类就比一般类对了抽象的方法。抽象类中也可以不定义抽象方法
这样做的目的是为了不让抽象类建立对象进行实例化。
15、接口:
可以理解为特殊的抽象类,当抽象类中的方法都是抽象方法的时候,那么该类可以用接口interface
来表示。
16、接口中的常量和方法都有自己固定的定义格式:
格式为:常量:public static final
方法:public abstract
17、类与类是继承的关系:
接口和接口也是继承的关系,类和接口的关系是实现的关系implements需要被
子类所实现,因为子类能够覆写接口中的抽象方法,之后才可以进行实例化
18、类与接口之间是多实现的关系 就是说一个类可以实现多个接口,但是一个类只能继承另一个类
19、基本功能定义在类中,扩展功能定义在接口中 这就是接口的作用。
- Day07第七天java基础----------继承
- java基础第七天总结 继承
- Java 基础 第七天
- JAVA基础第七天
- java基础第七天
- java学习第七天之继承
- JAVA基础第七天学习日记_继承、重写、final关键字、抽象、接口
- Java基础Day07笔记
- 传智博客JAVA基础第七天
- Java基础---第七天 面向对象
- Java基础班第七天笔记
- java基础———第七天
- java基础第七天——String
- JAVAWEB第七天java基础加强
- java面向对象3继承_第七天
- 黑马程序员java学习第七天,继承及接口
- 基础加强第七天
- Android基础第七天
- 第十周上机任务5:贪财的富翁
- 学习计划ing
- Java之美[从菜鸟到高手演变]之智力题【史上最全】
- Day06第六天java基础------------面向对象
- 关于qt 的sqlite数据库的使用总结
- Day07第七天java基础----------继承
- ORACLE数据库中 row_number() over(partition by col1 order by col2) 用法
- HDU 1087
- 用递归方法建立二叉树
- Java RMI
- [转]个性化推荐--能否造就下一代霸主?
- Thinkphp 隐藏 index.php 方法
- Day08第八天java基础-----------多态
- 凸包(Convex hull)