1.什么是继承?为什么需要继承?如何继承?
继承就是2个类之间有包含关系时,一个类(子类)直接将另一个类(父类)中的属性和方法“继承”过来使用。
为什么需要继承:1.继承表示了2个类之间的关系
2.可以减少子类中的代码数量,减少工作量
如何继承:public class 子类 extends 父类
2.自动转型与强制转型的理解
自动转型
/**
*创建一个球员类(父类)
*/
public class Player{
//创建属性,名字
public String name;
//创建方法,踢球
public void paly(){
System.out.println(name+"在踢球");
}
//创建一个设定名字的方法
public void setName(String a){
name=a;
}
}
/**
*创建一个中国球员类(子类)
*/
public class CHNPlayer extends Player{
//创建一个子类方法
//当子类中方法名与父类中方法名相同时,在后来的主类中调用时会发生重写
public void paly(){
System.out.println(name+"在瞎踢球");
}
//在子类中创建一个新的方法
Public void relax(){
System.out.println(name+"在娱乐");
}
}
//创建一个主类
public class Main(){
public Static void main(String[] args){
//创建一个球员对象
Player PL1=new Player();
PL1.setName("hennry");
PL1.paly();
//创建一个中国球员对象
CHNPlayer PL2=new CHNPlayer();
PL2.setName("李毅");
PL2.paly();
//由于子类中也有play的方法,所以此时就出现了overwrite(重写),对象调用的是子类中的play方法
PL2.relax;
//创建一个PL3对象,使它自动转型
Player PL3=new CHNPlayer();
//此时,子类的对象自动转型为父类对象
PL3.setName("大帝");
PL3.play();
//虽然PL3被自动转型为父类对象,但是他调用的play方法仍然是子类中的。
PL3.relax();
//上面这个就会报错,因为PL3已经被自动转型为父类类型,而父类类型中没有relax,所以会报错
//创建一个对象,让它强制转型
//强制转型:只有当这个对象在之前进行过自动转型,才可以进行强制转型
CHNPlayer PL4= (CHNPlayer)PL3;
PL4.play();
//paly调用的还是子类的
PL4.relax();
//此时relax方法就可以调用了。因为已经将PL3强制转为子类类型了。
}
}
/**
*在上述的代码中,如PL1.play();和PL2.paly();他们的对象类型都是Player类型。方法都是play
*但是运行的结果却是“hennry在踢球”和“李毅在瞎踢球”
*这就是多态,对象的类型和调用的方法都一样,但是得到的结果不同
*/
3.方法的重写和重载的理解
重写:是出现在继承中的概念, 只有出现了子类父类时,才会有重写的概念,重写就是子类在继承父类的方法时,
有时候父类的方法不够具体,无法完全适用到子类,所以需要在子类中重新写一个跟父类方法名一样的方法 ,当创建一个
子类对象时,调用这个方法时,就会调用子类中的方法,而不是父类中的方法,这种情况就叫作重写。
重载:是在一个类中,可以许多方法名相同,但是参数个数或者类型不同的方法,在使用方法的时候,会根据参数的情况
来确定到底使用哪一个方法,这叫重载。
分享到:
相关推荐
Java课后作业Java课后作业Java课后作业Java课后作业业
Java2实用教程课后答案
使用JAVA理解程序逻辑课后习题
《Java基础入门》课后习题及答案
java课本的课后习题答案
《Java设计模式》课后习题参考答案-刘伟(20180723),pdf版本
《Java 基础入门》课后习题答案 第 第 1 章 Java 开发入门 一、填空题 1、 Java EE、Java SE、Java ME 2、 JRE 3、 javac 4、 bin 5、 path、classpath 二、选择题 1、ABCD 2、C 3、D 4、B 5、B 三、简答题 1、 面向...
java语言程序设计课后习题答案.pdf
《java设计模式》课后习题及模拟试题答案
疯狂JAVA讲义课后习题解析
Java 2 实用教程 课后习题答案(第三版)耿祥义 张跃平 希望对你们有用!!!
高等学校设计模式课程系列教材刘伟,java设计模式,内容丰富
课后答案 我搜索了很久才找的,用来和你们一起分享
java第五版课后答案 大部分的代码都有,很详细,很给力的! 大部分的代码都有,很详细,很给力的! 大部分的代码都有,很详细,很给力的!
给有需要的朋友!Java疯狂讲义你不得不选
Java核心技术习题答案
java语言程序设计课后答案 李尊朝 苏军 编著
JAVA程序设计课后习题及答案4.pdfJAVA程序设计课后习题及答案4.pdfJAVA程序设计课后习题及答案4.pdfJAVA程序设计课后习题及答案4.pdfJAVA程序设计课后习题及答案4.pdfJAVA程序设计课后习题及答案4.pdf
java 语言程序设计课后答案解析第一章课后答案1-1