网站可以做推广seo的基础是什么
网站可以做推广,seo的基础是什么,手机网站建设报价表,网站开发的费用申请---恢复内容开始---这篇随笔和大家讲讲java中类的继承是什么#xff1f;希望对你们有所帮助。目录一、java继承是什么#xff1f;二、为什么使用java继承三、java继承的实现1.1 java继承的基本语法1.2 super的用法一、Java继承是什么#xff1f;简单来讲#xff0c;Java中…---恢复内容开始---这篇随笔和大家讲讲java中类的继承是什么希望对你们有所帮助。目录一、java继承是什么二、为什么使用java继承三、java继承的实现1.1 java继承的基本语法1.2 super的用法一、Java继承是什么简单来讲Java中的继承是一个对象获取父对象的所有属性和行为的机制。它是面向对象编程系统(OOP)的重要组成部分。Java中继承的思想是创建基于现有类的新类。从现有类中继承可以重用父类的方法和字段。此外还可以在当前类中添加新方法和字段继承表示IS-A关系也称为父子关系。二·、为什么使用继承继承就是 比如你和你的父亲你可以继承你父亲身上的基因但继承基因的同时你可以除了继承你父亲基因的同时再创造新的基因就比如你父亲不高但是你想变高就可以在基础的同时使用重写来改变你的身高。那为什么要使用继承呢1、可以实现方法重写(这样可以实现运行时多态性)。提高了代码的复用性。2、继承允许我们重用代码它提高了Java应用程序的可重用性。三、继承的实现1.java继承的基本语法1 packagepkg12;2 //Son是子类 Father是父类 所以就是子类继承(extends)父类3 public class Son extendsFather{4 //方法......56 }如果要继承一个类的话就要使用extends关键字提示继承按时着成员在派生类中课访问而不是仅仅限于当前定义的类要在包含基类的包的外部派生一个类这个基类就必循声明为public 如果没有声明为public 这个类就不能直接地扩展到包的外部。2、继承的特点子类会把父类所以的属性和方法都继承下来。(先不考虑final)如果父类包含了共同的属性和方法我们可以使用继承来设计程序子类使用extends关键字继承父类的共同属性以外子类话可以有自己特有的属性和方法。父类更通用子类更具体。子类只能获得父类中的非private的属性如果想要继承就得提供公共的set和get的方法私有的方法是无法继承的。用一个习题来解释一下什么叫做继承代码如下1 packagepkg11;23 //定义了一个老师类 同时都有两个属性和两个方法4 classTeachJava{5 String name;6 intage;78 public voidTeachJava(){9 System.out.println(this.name在上java课);10 }11 public voidsleep(){12 System.out.println(this.name在休息);13 }14 }151617 //定义了二个老师类 同时都有两个属性和两个方法18 classTeachHtml{19 String name;20 intage;21 public voidTeachHtml(){22 System.out.println(this.name在上Html课);23 }24 public voidsleep(){25 System.out.println(this.name在休息);26 }27 }282930 public classTextExtends{31 public static voidmain(String args[]){32 //实例化出第一个老师33 TeachJava tj newTeachJava();34 tj.name 张三;35 tj.age 18;36 tj.TeachJava();37 tj.sleep();38 //实例化出第二个老师39 TeachHtml th newTeachHtml();40 th.name 李四;41 th.age 34;42 th.TeachHtml();43 th.sleep();44 }45 }运行效果看到我们定义两个老师类大家有没有发现一个问题呢就是我定义了两个老师类 两个老师类里面发现两个相同的属性和一个方法 这时我们就可以采用继承的方式来设计这个案例。那我们应该怎么设计呢 遵循上面说到的继承语法子类 继承 父类。1 packagepkg11;2 //我们可以把相同的属性和方法放在一个类中定义为 父类34 //父类5 classTeacher{6 String name;7 intage;89 public voidsleep(){10 System.out.println(this.name在睡觉);11 }12 }1314 //子类151617 //子类 继承 父类18 class TeachJava extendsTeacher{19 public voidTeachJava(){20 System.out.println(this.name在讲java课程);21 }22 }2324 //子类 继承 父类25 class TeachHtml extendsTeacher{2627 public voidTeachHtml(){28 System.out.println(this.name在讲HTML课程);29 }30 }3132 public classTextExtends1{33 public static voidmain(String args[]){34 TeachJava tj newTeachJava();35 tj.name 张三;//调用父类中的属性36 tj.age 20;37 tj.TeachJava();//钓鱼自己的方法38 tj.sleep();//调用父类的方法。39 TeachHtml th newTeachHtml();40 th.name李四;//调用父类中的属性41 th.age 25;42 th.TeachHtml();//调用自己的方法43 th.sleep();//调用父类的方法。44 }45 }两个老师类的中重复的属性和方法我没个把他归结为一个类当中作为 父类因为我们继承的父类的属性和方法所以我们就有和父类相同的属性和方法所以继承的最明显的优点就是减少了代码的重复性。这样继承和我们之前写的代码运行效果会一样吗运行效果如下子类只能获得父类中的非private的属性如果想要继承就得提供公共的set和get的方法私有的方法是无法继承的。这句特点要这样理解呢 为什么说要继承就的使用set和get方法呢先看代码packagepkg11;//我们可以把相同的属性和方法放在一个类中定义为 父类//父类classTeacher{privateString name;intage;public voidsleep(){System.out.println(this.name在睡觉);}}//子类//子类 继承 父类class TeachJava extendsTeacher{public voidTeachJava(){System.out.println(name在讲java课程);}}//子类 继承 父类class TeachHtml extendsTeacher{public voidTeachHtml(){System.out.println(this.name在讲HTML课程);}}public classTextExtends1{public static voidmain(String args[]){TeachJava tj newTeachJava();tj.name 张三;tj.age 20;tj.TeachJava();tj.sleep();TeachHtml th newTeachHtml();th.name李四;th.age 25;th.TeachHtml();th.sleep();}}在我父类属性中加了一个private这样我们再运行运行程序看看会发生什么这里发生了报错都在name的报错所以上面的特点 说的真是这点私有的方法是无法继承的。如果想在继续继承父类的话那么我们就的使用封装的方法get和set1 //父类2 classTeacher{3 privateString name;4 intage;56 //封装7 public voidsetName(String name){8 this.name name;9 }10 public voidgetName(){11 returnname;12 }13 public voidsleep(){14 System.out.println(this.name在睡觉);15 }16 }之后调用方法就可以进行继承了。1 packagepkg11;2 //我们可以把相同的属性和方法放在一个类中定义为 父类34 //父类5 classTeacher{6 privateString name;7 intage;89 //封装10 public voidsetName(String name){11 this.name name;12 }13 public voidgetName(){14 returnname;15 }16 public voidsleep(){17 System.out.println(this.name在睡觉);18 }19 }20 //子类21 //子类 继承 父类22 class TeachJava extendsTeacher{23 public voidTeachJava(){24 System.out.println(this.getName在讲java课程);25 }26 }27 //子类 继承 父类28 class TeachHtml extendsTeacher{2930 public voidTeachHtml(){31 System.out.println(this.getName()在讲HTML课程);32 }33 }34 public classTextExtends1{35 public static voidmain(String args[]){36 TeachJava tj newTeachJava();37 //tj.getName 张三;tj.getName(张三);38 tj.age 20;39 tj.TeachJava();40 tj.sleep();41 TeachHtml th newTeachHtml();42 //th.getName李四;th.getName(李四)43 th.age 25;44 th.TeachHtml();45 th.sleep();46 }47 }运行效果以上继承是单一继承java还有多极继承多级继承 在多级继承中派生类将继承基类并且派生类也充当其他类的基类。在下面的图像中类A用作派生类B的基类后者又用作派生类C的基类。在Java中类不能直接访问祖父母的成员。就是可以继承多个packagepkg11;//多极继承classA{}class B extendsA{}class C extendsB{}public classTextExtends1{public static voidmain(String args[]){}}运行效果但是不支持多继承它可以支持继承多个类但不支持同时继承两个类。这样是不支持的1 packagepkg11;2 //错误展示34 classA{56 }78 classB{910 }1112 class C extendsA,B{1314 }1516 public classTextExtends3{17 public static voidmain(String args[]){1819 }20 }运行效果总结继承的优缺点优点1、代码共享减少创建类的工作量每个子类都拥有父类的方法和属性。2、提高代码的重用性子类可以形似父类但又异于父类。3、提高代码的可扩展性。缺点1、只要继承就必须拥有父类的所有属性和方法2、降低代码的灵活性。子类必须拥有父类的属性和方法让子类多了约束3、增强了耦合性当父类的常量、变量和方法被修改时需要考虑子类的修改而且在缺乏规范的环境下修改可能会造成严重的后果。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/86874.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!