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语言的理解。这份解析涵盖了JAVA的基础...
刘伟老师的《Java设计模式》课后答案PDF文件,包含了对书中各章节练习题的详细解答,这对于读者理解每个设计模式的实现和应用场景非常有帮助。通过学习这些答案,读者可以更好地巩固所学知识,将理论与实践相结合,...
Java语言程序设计课后习题答案.pdf是Java语言程序设计课程的习题答案集,旨在帮助学生更好地理解和掌握Java语言的基本概念和编程技术。本文档涵盖了Java语言的基础知识、面向对象编程、异常处理、多线程编程、网络...
在学习Java程序设计时,课后答案对于巩固理解、检查自我学习进度以及深化编程技能至关重要。本教程涵盖了Java语言的基础概念、语法特性以及高级编程技巧。 1. **基础概念** - **变量与数据类型**:Java支持基本...
《Java基础入门》课后习题及答案
这个"java第五版课后答案"的资源,显然针对的是学习Java编程的初学者或正在进修的学员,它提供了第五版Java教材的课后习题解答,帮助用户理解和实践课程中的概念。 Java的第五版,也被称为Java 5.0,是一个重要的...
在“使用JAVA理解程序逻辑课后习题”中,我们主要探讨的是如何通过编写和分析Java代码来加深对程序逻辑的理解。这是一门适合初学者的课程,旨在帮助学员建立起牢固的编程基础,特别是对于使用Java语言进行逻辑思维...
这本书的第三版由耿祥义和张跃平编著,旨在帮助学习者深入理解Java 2的核心概念,并通过解答课后习题来巩固所学知识。本资源包含第1至第9章的课后练习解答,覆盖了从入门到进阶的关键知识点。 1. **Java基础**:第...
课后习题是检验学习效果、加深理解的重要环节,而“疯狂Java讲义课后习题答案”则为读者提供了自我检测和学习提升的有力工具。 这份PDF文件包含了李刚老师对书中各章节课后习题的解答,可能涵盖了从基础的变量、...
【ACCP6.0 使用Java理解逻辑程序课后答案】是一个针对北大青鸟ACCP6.0课程中关于Java编程的课后习题解答资源。这个压缩包包含了从课程的第一章到最后一章的所有课堂练习和课后作业的答案,旨在帮助学习者深入理解和...
java语言程序设计课后答案 李尊朝 苏军 编著
课后习题作为学习的重要组成部分,能够帮助学生巩固所学知识,深化理解,并通过实践提升编程技巧。 本压缩包文件包含了一到九章的全部课后习题答案,这些答案详细解答了书中的思考与练习问题,不仅有文字解析,还...
《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开发者打下坚实基础。这个压缩包中的资料将是一个宝贵的参考资料,帮助读者巩固设计模式的...
Java程序语言设计是学习Java编程的重要参考资料,尤其对于初学者来说,通过解答课后习题可以深入理解并掌握Java的基本概念和技术。Y.Daniel Liang的《Java程序语言设计》是一本广泛使用的教材,它系统地介绍了Java...
知识点: 1. 反模式概念 反模式是在软件开发中出现的一种负面模式,它通常是指那些...在学习设计模式的过程中,理解每一个模式的意图、结构、参与者和协作关系是十分重要的,这有助于在实际开发中做出恰当的设计选择。
雍俊海的《Java程序设计教程》是一本深受读者欢迎的教材,其第二版更加深入浅出地讲解了Java的核心概念和技术。课后答案部分则是帮助学生检验学习效果,理解并巩固所学知识的关键资源。 在Java编程中,我们首先需要...
耿祥义所著的《JAVA 实用教程》为Java初学者提供了系统的理论知识和实践案例,而在学习过程中,课后的编程题则是检验学习效果的关键环节。本篇将提供《JAVA 实用教程》中部分课后编程题的答案,以供学习者参考和实践...
Java 基础入门知识点总结 ...本文总结了《Java 基础入门》课后习题答案的主要知识点,涵盖了 Java 基础知识、变量类型、运算符、控制流语句、方法重载等方面的内容,旨在帮助读者更好地理解和掌握 Java 编程语言。