网站开发用户需求分析,wordpress slider设置,重庆有哪些做网站公司好,装饰网站建设公司文章目录 一、重新定义需求二、继承1. 继续分析2. 概念3. 代码① 父类② 子类③ 测试结果 4. 饿狼传说之多层继承① 概念② 代码 5. 多继承 三、方法的重写1. 情境2. 代码① 吃什么② 怎么叫(Override重写) 3. 小结 四、super1. 啃老2. 啃老啃到底 五、final1. 用途及特征2. 举… 文章目录 一、重新定义需求二、继承1. 继续分析2. 概念3. 代码① 父类② 子类③ 测试结果 4. 饿狼传说之多层继承① 概念② 代码 5. 多继承 三、方法的重写1. 情境2. 代码① 吃什么② 怎么叫(Override重写) 3. 小结 四、super1. 啃老2. 啃老啃到底 五、final1. 用途及特征2. 举例理解① 修饰类② 修饰方法③ 修饰成员变量补充 3. 更通俗地理解 六、内容出处 一、重新定义需求 你的程序火了以后又有大爷大妈来找你了。他们说不能光给养狗的写啊也得考虑一下他们这些养猫的、养仓鼠的人啊。 这个问题该怎么解决呢总不能给每种宠物都写一个程序吧那得把人累死。或者说在当前程序里再定义一些cat类、Hamster类等定义完怎么办呢又得重新定义姓名、年龄、品种、食物、吃喝拉撒这些属性这是不是太麻烦了。 二、继承
1. 继续分析 我们可以再想一下猫、狗、仓鼠是不是都是动物啊。而且它们都有姓名、年龄、品种、吃喝拉撒这些属性这些属性也恰好是所有动物的共性。 既然如此我们是不是可以把这些共性抽离出来给Animal这个类再让Cats、Dogs、Hamsters去继承Animal里面的东西。这样一来就不需要重复定义了。相当于又从一个更高的维度去看待问题了。 2. 概念 继承描述是父和子的关系。共性的部分抽离出来放在父类(如Animal类)里子类(如Cats类)保存特性(如猫需要猫砂)。 通俗一点就是上梁不正下梁歪(虽然是贬义词但是凑合着理解吧)、这孩子跟ta爸一模一样。 写法子类 extends 父类 3. 代码 ① 父类 直接从原来的Dogs类里剪切 package com.practice.bean;import lombok.Getter;
import lombok.Setter;
import lombok.ToString;Getter
Setter
ToString
public class Animal {private String name;private int age;private String variety;private String food;private static String plot NanG;public static String getPlot(){return plot;}// 无参构造器public Animal(){}// 有参构造器public Animal(String name, int age, String variety, String food) {this.name name;this.age age;this.variety variety;this.food food;}public Animal(String name, String variety){this.name name;this.variety variety;}public Animal(String name){this.name name;}public void setAge(int age){if(age 0 || age 30){System.out.println(输入数据不合法, 已为您自动清零);this.age 0;}else{this.age age;}}public int getAge(){return this.age;}public void eat() {System.out.println(this.name 吃饭);this.sleep();}public void sleep() {System.out.println(this.name 睡觉!);}void crazy() {System.out.println(this.name 发疯);}// //不合理
// private String plot NanG;
// public String getPlot(){
// return this.plot;
// }public static void injection(){System.out.println(所有的动物, 月底打针!);}
}
② 子类 ③ 测试结果 由此可见狗、猫和仓鼠类确实继承了Animal类里的东西。虽然也可以直接创建一个Animal的实例但是说实话意义不大。 4. 饿狼传说之多层继承
① 概念 通俗来说就是灰太狼从他太太太爷爷那一辈就吃不到羊他继承了这个基因所以他也没吃到羊。 ② 代码 Animal和Dogs类没做任何改动 5. 多继承 多继承联想一下骡子(马和驴的杂交种同时具备马和驴的共性)。 java不支持多继承 三、方法的重写
1. 情境 如图所示上述程序可以王阿姨家的狗和张大爷家的猫在吃饭和在喊叫。但是我现在想知道它们吃的是什么怎么叫的 2. 代码
① 吃什么 显然王阿姨和张大爷可以自己决定家里的宠物吃什么。因此可以借助food这个成员变量通过传参数区分宠物的食物。 ② 怎么叫(Override重写) 王阿姨和张大爷肯定不能决定自己家的宠物怎么叫啊所以刚刚传参的方式肯定不适用。这个时候就要用到重写了。 3. 小结 ① 在子类当中凡是Override注解下面的方法一定是来自于它父类的但是它又不学它的父亲。比如说灰太狼有天确实吃到羊了不走他父亲的老路了。 ② 子类自己认为必须打破他父亲的传统进行革新革新的内容就是方法体于是它重新写了父类的方法。例如王阿姨家的狗可以汪汪叫了张大爷家的猫可以喵喵叫了发展了自己的特性没必要都动物叫了。 ③ 快捷键alt insert - Override Methods 四、super
1. 啃老 那我子类重写了父类的方法但是我要是还想使用父类的方法该怎么办呢通俗来说就是我不想自己赚钱自己花了我想直接花我爹的。放到该案例中就是王阿姨家的狗说我不想汪汪叫了我就乐意动物叫。 alt insert - Override Methods 可快速生成重写方法。 这样一来王阿姨家的狗就不是汪汪叫了开始动物叫了。 2. 啃老啃到底 继承本身是不能继承父类的构造方法的。通俗来讲就是啃老不能说连爸爸的脸也一起照搬弄到自己脸上这是很难的。那我如果我非要这么做怎么办呢还得靠super 例如我现在可以初始化一个动物实例(因为Animal类里有相关的构造方法)但是没有办法初始化一个狗的实例(Dogs类里没有相关的构造方法)。 现在要开始啃老了。 快捷键alt insert - Constructor(Override Methods也可以) - 全选(找到构造方法, 然后选择) - 回车 发现可以了 五、final
1. 用途及特征 ① 用途修饰类修饰方法修饰成员变量 ② 特征final意为最终也就是说断子绝孙了。final修饰的类已经是最底层了后面没人继承它了它也不能被继承final修饰的方法不可以被子类重写但是可以仍旧被子类使用final修饰的成员变量的值后续不可以被更改了。 2. 举例理解
① 修饰类 显然拉布拉多已经是我们这个程序的最底层了。没有动物会再继承它了此时我们就可以用final修饰它。 随意新建一个类去验证一下发现拉布拉多这个类确实不能被继承。 ② 修饰方法 我们知道拉布拉多是一种导盲犬。因此我们可以在Dogs类里面写一个类似的方法再在Labrador类里重写一下。 此时如果用final修饰Dogs类里的这个导盲方法就会发现Labrador类无法重写这个方法了。 但是拉布拉多犬仍然可以使用这个方法只不过返回的也是false了。 ③ 修饰成员变量 用static修饰小区名以后虽然外部不能更改了但是仍然无法防止程序员自身手误导致该变量值被更改。 这样一来拉布拉多发个疯就把小区名给改了太荒谬了吧。怎么办呢用final修饰这个成员变量 补充 ① 根据阿里开发手册的要求我们用plot表示小区名显然不太合理。可以改成text_community_nametext指的是该变量的实际用途(虽然这样写也不太合适但凑合着看)而且要全部大写。 ② idea全部大写快捷键Ctrl Shitf u 3. 更通俗地理解 假设A是一个富豪B是ta的孩子。正常情况下B是可以继承A所有东西的。 但是A觉得B太败家了又不孝顺因此不想给B一点遗产。这种情况下就可以直接用final修饰A这整个类。 A转念一想B毕竟是自己的孩子万一ta以后想改过自新了呢总要给孩子留点退路不能逼太紧。于是A就把车子、房子留给B了。但是思虑再三后决定不能给B过多现金ta可以定期拿一部分作为生活费但是不能为所欲为。这种情况下A就在自己这个类里写了一个getMoney()方法并且用final修饰了。 A为了防止B把房子卖了于是把地契都给烧了。这个时候就可以用final修饰home这个成员变量。 六、内容出处 java
文章转载自: http://www.morning.xkjrs.cn.gov.cn.xkjrs.cn http://www.morning.srmdr.cn.gov.cn.srmdr.cn http://www.morning.bpmnq.cn.gov.cn.bpmnq.cn http://www.morning.mkpqr.cn.gov.cn.mkpqr.cn http://www.morning.ppllj.cn.gov.cn.ppllj.cn http://www.morning.kfjnx.cn.gov.cn.kfjnx.cn http://www.morning.ktpzb.cn.gov.cn.ktpzb.cn http://www.morning.dfmjm.cn.gov.cn.dfmjm.cn http://www.morning.sfmqm.cn.gov.cn.sfmqm.cn http://www.morning.xkqjw.cn.gov.cn.xkqjw.cn http://www.morning.rfpb.cn.gov.cn.rfpb.cn http://www.morning.jlktz.cn.gov.cn.jlktz.cn http://www.morning.hphrz.cn.gov.cn.hphrz.cn http://www.morning.znqmh.cn.gov.cn.znqmh.cn http://www.morning.fnywn.cn.gov.cn.fnywn.cn http://www.morning.pfggj.cn.gov.cn.pfggj.cn http://www.morning.ltzkk.cn.gov.cn.ltzkk.cn http://www.morning.qpsdq.cn.gov.cn.qpsdq.cn http://www.morning.vehna.com.gov.cn.vehna.com http://www.morning.mjbkp.cn.gov.cn.mjbkp.cn http://www.morning.rnjgh.cn.gov.cn.rnjgh.cn http://www.morning.nfbkz.cn.gov.cn.nfbkz.cn http://www.morning.nfdty.cn.gov.cn.nfdty.cn http://www.morning.nzwp.cn.gov.cn.nzwp.cn http://www.morning.lwtld.cn.gov.cn.lwtld.cn http://www.morning.txqgd.cn.gov.cn.txqgd.cn http://www.morning.ptwzy.cn.gov.cn.ptwzy.cn http://www.morning.lqjlg.cn.gov.cn.lqjlg.cn http://www.morning.xpzrx.cn.gov.cn.xpzrx.cn http://www.morning.mhrzd.cn.gov.cn.mhrzd.cn http://www.morning.dbcw.cn.gov.cn.dbcw.cn http://www.morning.kxnjg.cn.gov.cn.kxnjg.cn http://www.morning.wkpfm.cn.gov.cn.wkpfm.cn http://www.morning.ghfmd.cn.gov.cn.ghfmd.cn http://www.morning.sjqml.cn.gov.cn.sjqml.cn http://www.morning.xfcjs.cn.gov.cn.xfcjs.cn http://www.morning.gyqnp.cn.gov.cn.gyqnp.cn http://www.morning.gxwyr.cn.gov.cn.gxwyr.cn http://www.morning.amonr.com.gov.cn.amonr.com http://www.morning.yhjrc.cn.gov.cn.yhjrc.cn http://www.morning.rzsxb.cn.gov.cn.rzsxb.cn http://www.morning.ckwrn.cn.gov.cn.ckwrn.cn http://www.morning.tkgxg.cn.gov.cn.tkgxg.cn http://www.morning.mbrbk.cn.gov.cn.mbrbk.cn http://www.morning.kzqpn.cn.gov.cn.kzqpn.cn http://www.morning.sqhtg.cn.gov.cn.sqhtg.cn http://www.morning.ptxwg.cn.gov.cn.ptxwg.cn http://www.morning.jbkcs.cn.gov.cn.jbkcs.cn http://www.morning.lkkkf.cn.gov.cn.lkkkf.cn http://www.morning.qstkk.cn.gov.cn.qstkk.cn http://www.morning.zfcfx.cn.gov.cn.zfcfx.cn http://www.morning.lmxrt.cn.gov.cn.lmxrt.cn http://www.morning.qiyelm.com.gov.cn.qiyelm.com http://www.morning.tndhm.cn.gov.cn.tndhm.cn http://www.morning.kqglp.cn.gov.cn.kqglp.cn http://www.morning.smyxl.cn.gov.cn.smyxl.cn http://www.morning.qbksx.cn.gov.cn.qbksx.cn http://www.morning.wfttq.cn.gov.cn.wfttq.cn http://www.morning.lmhwm.cn.gov.cn.lmhwm.cn http://www.morning.gthwr.cn.gov.cn.gthwr.cn http://www.morning.hbqfh.cn.gov.cn.hbqfh.cn http://www.morning.qcnk.cn.gov.cn.qcnk.cn http://www.morning.kpfds.cn.gov.cn.kpfds.cn http://www.morning.ntqjh.cn.gov.cn.ntqjh.cn http://www.morning.wrlff.cn.gov.cn.wrlff.cn http://www.morning.hhmfp.cn.gov.cn.hhmfp.cn http://www.morning.qlxgc.cn.gov.cn.qlxgc.cn http://www.morning.cbnjt.cn.gov.cn.cbnjt.cn http://www.morning.hrhwn.cn.gov.cn.hrhwn.cn http://www.morning.flfdm.cn.gov.cn.flfdm.cn http://www.morning.rxrw.cn.gov.cn.rxrw.cn http://www.morning.ppbrq.cn.gov.cn.ppbrq.cn http://www.morning.elsemon.com.gov.cn.elsemon.com http://www.morning.ctlzf.cn.gov.cn.ctlzf.cn http://www.morning.yghlr.cn.gov.cn.yghlr.cn http://www.morning.cylbs.cn.gov.cn.cylbs.cn http://www.morning.fzqfb.cn.gov.cn.fzqfb.cn http://www.morning.mxdhy.cn.gov.cn.mxdhy.cn http://www.morning.xbzfz.cn.gov.cn.xbzfz.cn http://www.morning.ldspj.cn.gov.cn.ldspj.cn