1:继承
要了解继承必先要明白java中为什么有继承?继承到了什么?说简单点就是为了减少程序的重复或者继承的好处就是可以使代码重用,比如世界万物都有相似之处,若写程序每提到一个对象就重新写一段代码,那么一是效率不高,二是重复劳动,比如昨天刚写了一只狗的程序,今天再写小狗的程序,这需要重新再写一遍吗?显然不需要,因为小狗和狗的相似之处太多了,只需要修补充一下小狗特有的属性和方法就行了,比如狗不会爬树,小狗变异了,突然会爬树逮耗子了,那么仅仅只需要把这些特点写出来就行,这样提高效率,不会重复劳动,所以程序引入了继承的概念 ,而程序中继承将会继承所有父类的属性和方法, 继承在面向对象思想中是非常重要的概念,它使整个程序架构具有一定的弹性,在程序中重复使用一些已经定义完善的类。不仅可以减少软件开发周期,同时也提高了软件的可维护性和可扩展性,在现实中儿子从父亲那里继承了很多东西,在java中同样,子类可以从父类继承属性和方法,使用关键字extends来继承,当然,在继承过程中儿子除了继承爸爸的各种优点之外还新增加了属于自己的属性和,方法看下面图表分析、Test2继承Test
从图表可以看出Test2不但继承了Test的方法外还新增加了自己的方法Public void doSomething()
当然儿子在继承爸爸的产业的同时还要想办法去扩展和发扬光大自己的优点,有时候儿子在继承父亲的方法后他不满意,比如爸爸会跑儿子也继承了爸爸这个跑的方法,但是他不满意,因为明明是儿子在跑,总要说是爸爸在跑,所以儿子不满意了,这时候怎么办?重写就出现了,儿子重写了爸爸的跑的方法,之后变成自己在跑,这样儿子满意了,问题解决了,当然在重写过程中不能降低方法的权限修饰范围,
例如:不能把父类的public改写成private。这样缩小范围的重写是错误的,
2:什么是封装?为什么要有封装?封装的好处是什么?
封装顾名思义就是把一些方法和属性封装起来,那么为什么要封装呢?假设你头疼了去医院看病,医生给你来个全身检查这样你麻烦他也麻烦,所以如果 头疼特殊情况除外,肯定是头有问题,这时候就只看头就行了,这样节省时间又节省钱,何乐而不为?,因此封装也一样,在程序中有的项目上万行代码,如果出现问题要你一行一行的检测,太慢了,浪费时间,工作压力也大,因此封装就可以解决这问题,头疼治头,腿疼治腿,所以封装的好处
3:多态是什么?为什么要有多态?多态的好处是什么?
多态:由于继承和重写机制,相同类型的对象,调用相同的方法,得到的结果可能呈现多种状态;中国有句古话叫龙生九子九子各不同,世界上没有完全相同的两片叶子,即便是一对双胞胎也有不同之处,所以这就是多态,要有继承,要有方法重写,至于多态的好处个人认为是可扩展性好了,比如平行四边形和正方形都是继承 四边形的两种不同状态的图形,
4:方法的重载和方法的重写
在继承的过程中多少回会遇见重写和重载,但是很多人分不清这两个概念,方法重载就是:具有相同的方法名称,形参的个数顺序类型不同看以下代码
public class Test { public static int add(int a,int b){ return a+b; } //参数个数不同 public static int add(int a){ return a; } //参数类型不同 public static double add(int a,double b){ return a+b; } //参数顺序不同 public static double add(double a,int b){ return a+b; } }
这就是方法重写:
重写:就是方法名相同,参数也相同,只有在继承的前提下只能子类去重写父类的方法看以下代码
public void study(){ System.out.println(学生+"在学习"); } //父类方法 public void study(){ System.out.println(大学生+"在学习"); }
这就是重写
相关推荐
1、实验名称:类的继承、多态的应用 2、代码内容:学生管理类 3、【实验目的】 (1)进一步熟悉抽象类和抽象方法的定义 (2) 进一步掌握集成和多态的实现方式。
java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素...
Educoder题目:Java面向对象 - 封装、继承和多态的综合练习答案解析
java基础——方法的重写、多态+instanceof(csdn)————程序
java封装 继承与多态 程序设计 类与对象
JAVA面向对象基础测试题-继承-封装-多态等测试题.docx
java基础_继承封装 多态,概念的梳理,对初学者很有帮助,看一遍就清楚了
JAVA封装继承与多态PPT教案学习.pptx
封装继承多态总结
第8章动物类派生——继承与多态.ppt
Java 语言程序设计:第5章接口多态.ppt
jave面向对象特性继承、封装、多态的实验报告,jave重要实验。
这是关于C#封装继承多态的一个简单的例子,对于深入学习C#中封装继承多态将很有帮助!
Flutter抽象继承封装多态接口案例,基于vscode开发工具,通过运行Flutter中的Test文件,来测试flutter中的继承,抽象,多态,封装,接口的概念
用一个示例来说明C#中的继承、封装和多态,希望对于刚学C#语言的朋友们理解继承、封装和多态有一定的帮助作用吧
Java程序设计课程实验10-接口和多态Java程序设计课程实验10-接口和多态Java程序设计课程实验10-接口和多态Java程序设计课程实验10-接口和多态Java程序设计课程实验10-接口和多态Java程序设计课程实验10-接口和多态...
Java封装继承多态实例以及文件流操作,自己整理的东西,用了单态模式实现了多态,并且贯彻了OOP思想,用到了文件流的写入与读取,希望对大家有帮助
本资源是用C++开发的,充分体现了面向对象的思想,封装继承多态。
定义一个台球类Billiards,继承Ball类,包含一个私有成员变量——颜色(String color),两个公有成员方法:设定颜色方法setColor()、输出信息方法show(),其中show()方法可以输出该台球的颜色和半径值。。。。。。