无论是在编程中还是在生活中,我们都能很容易注意到类似的类有很多,这些类在java程序中描述起来差别可能仅是多了某些属性或者是改变了某些方法,但总体来说是大同小异。这时候若是一个个按部就班地创建这些类,写好每个类的属性、方法,这就让人感觉程序繁琐、重复、浪费。幸运的是,java中有继承机制,可以帮我们解决这个问题。
有了这个继承机制,我们就可以高效地利用之前写过的代码,还可以对现有的类进行拓展,使其功能更完备。
继承是一个类继承另一个类,继承的类叫作子类或超类,被继承的类叫作父类或基类。继承时要用extends关键字,格式如下:
public class 类名(子类或超类) extends 类名(父类或超类){
}
我们也知道类中的属性和方法是有访问修饰符的,而访问修饰符对继承的子类也是有效应的。一般来说,子类能调用到父类中共有的和受保护的属性和方法,子类和父类在同一个包中,还能调用到默认访问修饰符的属性和方法,但在不同的包中,子类能调用的就是共有的和受保护的。
在实际情况中,子类和父类对于同一个名字的方法,两者的要求可能不同。就像东方人和西方人在吃饭时有着不同的习惯。这时候,我们就要用到重写。重写仅限于有继承关系的类中。重写时,要求方法的返回值数据类型、方法名、参数个数、参数类型、参数顺序完全一样,否则就不是重写,有可能是重载,也有可能不是重载。重写的访问修饰符可以大于或等于父类方法的访问修饰符。当调用子类方法的时候,优先调用子类的方法,子类没有才调用父类的方法。
子类可以自动转型为父类,但自动转型后,创建的对象不能调用子类的方法,因为java编译只会根据对象名的类型去查找是否有相应的方法,若没有的话,则编译器会报错。
现在我们的类能继承,也能自动转型,类中的方法又能重载,也能重写,这时候,调用某个类来创建对象的时候,产生的对象可能有很多种可能,在调用这些类的方法的时候,也是有多种选择的。这种多种可能就是多态性。
以上就是对java继承的一些总结
分享到:
相关推荐
本书是一本与众不同的Java入门好书。作者以独特的视角,向Java初学者讲述了如何才能真正理解和掌握Java语言。本书充分考虑了初学Java语言的种种困难,讲解时细致入微,抽丝剥茧,层层推进,并采用对比、比喻和类比的...
本篇将深入浅出地为Java初学者讲解其入门知识,帮助你快速掌握这门强大的编程工具。 一、Java简介 Java是由Sun Microsystems公司(现已被Oracle收购)于1995年推出的,由詹姆斯·高斯林(James Gosling)等人设计。...
《JAVA入门到精通——30天学通JAVA》是一本专为初学者设计的Java编程教程,旨在帮助读者在短短的30天内快速掌握Java编程基础,从而踏入编程世界的大门。Java作为一种广泛应用于互联网、移动应用、企业级开发等领域的...
Java作为一门广泛使用的编程语言,拥有丰富的语法结构和关键字,其中修饰词(modifiers)是Java语言中的重要组成部分,用于限定类、方法、字段等的访问级别、生命周期以及特性。以下是对Java中11个修饰词的详细介绍...
本文将深入探讨Java的基础知识,旨在帮助初学者快速入门并进一步加深对Java的理解。 首先,我们来了解一下Java的核心概念。Java是基于C++语言发展而来的,但去除了指针等复杂特性,使代码更加安全。它的“Write ...
"java入门与提高"这个教程旨在帮助新手逐步掌握Java语言的核心概念和技术,最终达到精通的水平。下面将根据教程标题和描述,详细阐述Java编程的基础知识和进阶技巧。 一、Java语言基础 1. **环境配置**:首先,学习...
"Java学习笔记——良葛格"是一份专为初学者设计的教程资料,由良葛格精心编写,旨在帮助读者掌握JDK5.0版本的Java基础知识。JDK(Java Development Kit)是Java开发的核心工具集,包含了编译器、调试器和运行环境等...
本套“Java入门教程课件”针对初学者,旨在帮助他们理解和掌握Java编程的基本概念和技术。 1. **Java入门**: - **Java简介**:Java是一种跨平台的、面向对象的编程语言,由Sun Microsystems公司开发,其特点包括...
- **使用extends关键字实现继承**:在Java中,子类通过关键字`extends`来继承父类。子类可以拥有父类的所有属性和方法,同时也可以添加自己的新成员变量和方法。 - **访问控制符**:在继承关系中,子类可以访问父类...
Set接口继承自Collection接口,它不允许有重复的元素。Set接口的主要实现类有HashSet、LinkedHashSet和TreeSet。HashSet是最常用的Set实现类,不保证集合中元素的顺序,允许使用null值。LinkedHashSet则保持了元素的...
### Java新手超级入门——类结构篇 #### 一、Java工程结构 Java程序通常是由多个源文件(`.java`)组成的。这些源文件构成了整个Java工程的基础。在这些源文件中,至少会有一个包含主函数的文件,这个主函数是程序...
这份"Java入门学习笔记"涵盖了imooc网站上Java入门课程的三个赛季的内容,旨在为初学者提供一个全面的学习资源。 笔记的第一部分是"Java入门第一季学习笔记",它可能包括Java的基础概念和语法。这部分可能会讲解...
本项目名为“长方形求周长面积——Java入门基础”,旨在通过一个简单的实例来帮助初学者理解和掌握Java的基本概念,特别是面向对象编程的核心理念。 首先,我们要了解面向对象编程(Object-Oriented Programming,...
一一击破Java入门可能会遇到的难点和疑惑 抽丝剥茧,层层推进,让知识环环相扣,降低了学习的难度 通过大量的比喻、类比、对比和图示等多种讲解方式,学习效果好 对Java语言的每个语法都提供了一个或多个例程讲解 ...
010-JavaSE进阶-final修饰的类无法继承
### JAVA入门教程21天学通JAVA2第三版——关键知识点解析 #### 一、JAVA入门书籍推荐 - **《Java语言》**:适合初学者,全面覆盖Java基础语法及面向对象的基本概念。 - **《Thinking in Java》**:虽然内容深入且...
在这个“java课程设计实例——java源代码”压缩包中,我们很可能会找到一系列的Java源码文件,这些文件可能涵盖了各种Java编程的基础到高级概念。 首先,"ch01"这个文件名可能是章节的标识,暗示了这个压缩包可能...
还会介绍如何编写并运行第一个Java程序——经典的"Hello, World!"示例。 3. **JAVA基本程序实践**:在理论知识的基础上,这部分将深入到实际编程中,涵盖类和对象的概念,这是面向对象编程的基础。学习者会了解如何...
"Java入门123(第二版)PPT.rar" 提供了一套完整的Java初学者教程,通过一系列PPT课件来帮助学习者掌握Java的基础知识。下面我们将深入探讨其中涉及的重要知识点。 1. **第一章:让自己的第一个Java程序跑起来!** ...