学习一天继承总结
来源:互联网 发布:医院网络推广,网络营销 编辑:程序博客网 时间:2024/05/19 08:41
---------------------- android培训、java培训、期待与您交流! ----------------------
继承(extends):
1,提高了代码的复用性
2,让类与类之间产生了关系,所以才会有多态。
注意:千万不要为了获取其他的功能,而简化代码继承。
必须是类与类之间有所属关系才可以继承。is a。
java只支持单继承,不支持多继承。
多继承隐患:父类定义相同功能时,但内容不同,子类不确定运行那一个。
但java用另一种体现形式来完成,多实现。
java支持多层继承,一个继承体系。(子类必须继承父类的所有功能和变量)
想使用体系,先查阅体系中父类的描述。父类中是共性的功能。
在具体调用时,要创建最子类的对象,为什么呢?1,
1,有可能父类不能创建对象。
2,创建子类对象可以使用更多的功能。基本和共有的
聚集:has a
1,变量
如果子类中出现非私有的同名成员变量时.
子类要访问本类中的变量,用this,
子类要访问父类中的同名变量,用super.
覆盖:
1,子类覆盖父类,子类权限必须大于或等于父类,才可以覆盖(父类及其功能不能私有不然不能覆盖)
2,静态只能覆盖静态。
重载:看同名函数的参数列表。
重写:子父类方法一模一样。
为什么子类一定要访问父类中的构造函数。
因为父类中的数据子类可以直接获取,所以子类子类对象在建立时,需要
先查看父类中如何对这些数据进行初始化的。
所以子类在对象初始化时,要先访问一下父类中的构造函数。
如果要访问父类中指定的构造函数,可以通过手动定义super语句的方式来指定。
子类的实例化过程。
结论:
子类的所有的构造函数,默认都会访问父类中的空参数函数。
因为子类每一个构造函数内第一行都有一句隐式的super();
当父类中没有空参数的构造函数时,子类必须手动通过super语句形式来指定要访问父类中的构造函数
当然:子类的构造函数第一行也可以手动指定this语句来访问本类中的构造函数
子类中至少有一个构造函数会访问父类中的构造函数。
抽象类的特点:(多个类出现相同功能,但功能主体不同,进行抽取,这时只抽取功能定义,而不抽取功能主题)
1,抽象方法一定在抽象类中。
2,都被abstract修饰
3,抽象类不可以用new创建对象(不能实例化),因为调用抽象方法没意义。
4,抽象类中的抽象方法必须由子类复写所有的抽象方法后建立子对象
如果只覆盖了部分抽象方法,那么该子类还是一个抽象类。
格式:
abstract class Student
{
abstract void study();
}
抽象类中可以不定义抽象方法,这样做仅仅是为了不让该类建立对象。
模版方法设计模式
在定义功能时,功能的一部分是确定的,但是有一部分是不确定的,而确定的部分在使用不确定的部分
那么这时就将不确定的部分暴露出去,由该类的子类去完成。
例子:
abstract class GetTime{ public final(这个代码不用复写,所以加上final) void getTime() { long start = System.currentTimeMillis(); runcode(); long end = System.currentTimeMills(); System.out.println("毫秒:"+(end-start)); } public abstract void runcode();}class SubTime extends GetTime{ public void runcode() { for(int x=0; x<4000;x++) { System.out.print(x); } }}
接口:
1,接口中常见的定义:常量,抽象方法.
2,接口中的成员都有固定的修饰符
常量:public static final
方法:public abstract
3,接口对外暴漏,是程序的功能扩展。
记住:接口中的成员都是public的 实现的子类的成员的也是public
接口:不可以创建对象,因为有抽象方法、
需要被子类全部实现,不然子类仍是一个抽象类.
接口子类支持多实现,接口与接口之间间还可以多继承,子类还可以继承一个类时实现接口。
---------------------- android培训、java培训、期待与您交流! ---------------------
- 学习一天继承总结
- JAVA继承学习总结
- hibernate学习第一天总结
- Dom第一天学习总结
- UI第一天学习总结
- Spring第一天学习总结
- 第一天 Android学习总结
- 第一天学习powershell总结
- Javascript第一天学习总结
- HTML第一天学习总结
- github第一天学习总结
- 学习继承的一些总结
- JavaScript继承学习小总结
- Java继承方法学习总结
- java学习总结之继承
- 新手一天学习Python(总结)
- 科目二学习第一天总结
- SQL Server | 第一天学习总结
- Oracle语句优化规则汇总(6)
- strtotime的函数效率
- android 访问远程数据库与发送email问题
- Oracle语句优化规则汇总(7)
- VM虚拟机里怎么安装ubuntu linux 我下载的是ISO镜像文件
- 学习一天继承总结
- win7 + virutualbox 安装雪豹
- 利用JSFL批量制作
- winphone 开发环境
- hibernate4 与 spring3有点冲突
- 使用SocketChannel的NIO客户机服务器通信示例
- XML换行
- Oracle语句优化规则汇总(8)
- Oracle语句优化规则汇总(9)