凯哥学堂

搜索

凯哥学堂

Java基础——面向对象(继承应用)

2018-7-9 15:54| 发布者: 可可| 查看: 1| 评论: 0|原作者: 星空

凯哥学堂 首页 资讯 学习笔记 Java基础 查看内容

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。

规则:1.创建子类对象时,先出父类后出子类。
2.调用方法时,先考虑子类,子类没有就调用父类。
代码角度,先创建父内存,再创建一个子类内存,子类叠加在父类内存上,在调用的时候先考虑上面(子类)的一层内存,在考虑下面(父类)的内存,所以先出父类再出子类是有一种叠加效果。

Super关键字:super打上括号写在构造器上,是用来选择父类的某个构造器来进行构建。
在平时方法中写上super关键字是表示要调用父类的某个方法。

image

例题:申请T1、T2类,T2继承于T1.
流程:代码执行到T2的main方法,然后T2 t2 new T2 并 把“星空”内容传递到了T2的构造器中。传递进来后super关键字声明把name传递到了T1的构造器中name,T1构造器中的name又传到了T1的属性中,T1的属性中寄存了“星空”,T2调用了get name 方法就是父类的get name方法,最后把“星空”打印出来。

image

Final:
修饰在变量上,变量变常量。命名上有规定,名称需要全大写。
修饰在属性上,属性变常量。1.(public static final String NAME=”kk”;)
2.与对象内存或者类内存是不在一起存储的,它专门有一个常量层存储。
修饰在方法上,子类不可重写此方法。
修饰在类上,类不可以被继承,不可派生子类。

Final修饰在类上:不可继承。

image

Final修饰在方法上:报错!

image

Final修饰在属性上,final是常量,常量不可改变,修饰在属性上时加上static,写成静态成员都可以访问。

image

怪题:

image

构建对象步骤:1.加载属性、方法
2.属性赋值、加载实例块
3.造构造器调用

怪题讲解:new Test2 先加载Test1的属性和方法,然后Test2的属性方法也加载起来但是属性还没有赋值。然后先加载父类的实例块和赋值,这时候Test1 的构造器进行构建,开始调用。Test2重写了Test1的方法,Test1的方法调用到了Test2的方法上。Test2的属性还没有赋值,Test2的方法直接打印了i。最终的打印结果是0.(Test 没有进行属性赋值,舒适化是0)

例题1: 短信发送例题。
1.写上Phone Code父类,类里面get、set设置手机号码、验证码属性,发送短信方法。
2.申请不同平台的子类继承与Phone Code ,子类重写发送短信方法。根据平台不同,书写不同的发送短信方法。
3.申请一个短信发送综合类,短信发送综合类可以对某个平台进行调用。

image

例题2:厨师类
1.父类中写上厨师共有的属性、方法。
2.创建地方菜师傅,他们的属性方法继承与父类,根据菜系不同他们的做菜的方法都不一样,重写父类方法。(规范)
3.可以重写来重新给师傅的方法重新覆盖。调用的时候调用川菜师傅2的方法。

image

总结:继承两种用法:
1.派生,派生就是不断的复用和升级,也可以说是打补丁,出新产品。
2.规范,规范就是使用父类申请子类该有的方法,让子类去重写这些方法。

收藏

关注我们


微信

微博

QQ