`
l4432848
  • 浏览: 254264 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java类的继承

    博客分类:
  • java
阅读更多

继承就是在一个现有类型的基础上,通过增加新的方法或者重定义已有方法(重写)的方式,产生一个新的类型。继承是面向对 象的三个基本特征——封装、继承、多态的其中之一,我们在使用java时编写的每一个类都是在继承,因为在java语言 中,java.lang.object类是所有类最根本的基类(或者叫父类、超类),如果我们新定义的一个类没有明确地指定继承自哪个基类,那么java 就会默认为它是继承自object类的。

 

  1.为什么需要使用继承? 提高代码的重用性。 提高程序的扩展性。

 

  2.Java继承的语法格式 Java继承的关键字:extends 格式: public class 类名(子类,派生类,超类) extends 类名(父类,基类) { } ?注意: Java类的继承是单继承。

 

  3.子类继承到了父类的哪些属性和方法 子类继承父类后,子类继承到了父类所有的属性和普通方法。构造方法没有被子类继承。 能不能调用方法或属性,是因为访问修饰符的关系来决定的。 public所有的地方都可以调用 protected当前包下和有继承关系不同包的子类中。 默认的只能在当前包下调用 private只能在当前类中。 子类能自己定义属性和方法吗? 可以并且子类可以拥有比父类更多的属性和方法

 

  4.方法重写 方法重写的条件 必须要存在继承关系 方法的返回值类型,方法名,参数个数,参数类型,参数顺序都必须要和父类的完全一致。 子类重写方法时,方法的访问修饰符可以大于或者等于父类方法的访问修饰符。 在调用方法的时候是否会调用错方法? 创建的对象是否是子类的(new 构造方法()) 如果是子类的构造方法创建的对象,那会优先执行子类的方法,子类没有才会执行父类的方法。 重载和重写的区别: 重载和重写都是针对方法的概念,在弄清楚这两个概念之前,我们先来了解一下什么叫方法的型构。型构就是指方法的组成结构,具体包括方法的名称和参数,涵盖 参数的数量、类型以及出现的顺序,但是不包括方法的返回值类型,访问权限修饰符,以及abstract、static、final等修饰符。比如下面两个就是具有相同型构的方法: public void method(int i string s) { // do something } public string method(int i string s) { // do something } 而这两个就是具有不同型构的方法: public void method(int i string s) {// do something } public void method(string s int i) { // do something } 重载: 英文名是overload,是指在同一个类中定义了一个以上具有相同名称,但是型构不同的方法。在同一个类中,是不允许定义多于一个的具有相同型构的方法的。 方法名相同,但参数类型、数量或顺序必有一不同。 在同一类中或有继承关系的类中均可重载。 重写: 英文名是override,是指在继承情况下,子类中定义了与其基类中方法具有相同型构的新方法,就叫做子类把基类的方法重载了。这是实现多态必须的步骤。 方法名、参数类型、数量、顺序必须完全相同,访问修饰符可以不同,但子类必须大于或等于父类。只发生在有继承关系的类中。

 

  5.自动转型 方向:由子类自动转为父类 前提:两个对象所在的类存在继承关系 语法: [1]直接自动转型 父类名 对象名 = new 子类构造函数(); Student stu =new UNStudent(); [2]在方法中进行自动转型 子类名 对象名 = new 子类构造函数(); UNStudent unstu =new UNStudent(); teach(unstu); 访问修饰符 返回值类型 方法名(父类名 参数名){ } public void teach (Student stu){ } 不必管创建对象左边的部分,只要看右边new的构造函数是子类还是父类, 如果是子类,则优先调用子类的方法。 注意:要使用自动转型,必须要存在继承关系。 格式: 父类名 对象名 = new 子类构造方法(参数值,...); Student un = new UNStudent(); un.play(); 使用自动转型后,不能调用子类自定义的方法; 因为Java编译时,只会根据对象名的类型去查找方法是否存在,如果存在则通过编译,如果不存在则报错。 实例:一个大学老师,可以教大学生,也可以教初中生,高中生,小学生 那么,对于这个教学的方法我们就可以只写一次。然后在使用时进行相应的自动转换一达到教学各种不同阶层学生的目地。 对于我们来说,使用自动转型,那么就只能调用父类中已经定义过的方法。 对于这个转型,我们有2种方法: 一: 父类名 父类对象名 = new 子类构造函数();二:父类名 父类对象名 = new 子类构造函数() 子类名 子类对象名 = new 子类构造函数(); public 返回值类型 方法名(父类类名 父类对象名){ 父类对象名.方法名(); } 方法名(父类对象名); 方法名(子类对象名);但是,自动转型也是有明显缺点的,如果使用自动转型,则无法调用子类的独有方法。因为计算机比较笨,它只能按照固定的已经设定好的方式去执行,Java在编译的时候,是根据对象名的类型去编译程序,这个时候在子类中,是找不到相应的方法的,所以编译出错了。

 

  6.多态 多态是由方法重载,继承,方法重写,自动转型等技术的组合。

技术分享: www.kaige123.com

0
1
分享到:
评论

相关推荐

    Java类继承初始化顺序

    在Java编程语言中,类继承是面向对象设计的一个核心特性,它允许我们创建一个新类(子类)作为现有类(父类)的扩展。当我们谈论“Java类继承初始化顺序”时,涉及到的关键知识点包括构造器、成员变量的初始化、...

    java类继承源码

    在Java编程语言中,类继承是面向对象编程的一个核心特性,它允许一个类(子类或派生类)从另一个类(父类或基类)继承属性和方法,从而实现代码的重用和扩展。本资源包含了一份关于Java类继承的源码示例,非常适合...

    Java面向对象之继承练习题.doc

    1. **类的继承**:在Java中,继承是面向对象编程的重要特性,允许一个类(子类)继承另一个类(父类)的属性和方法。例如,我们可以创建一个`Music`类作为其他音乐相关类的基类。 2. **构造方法**:构造方法用于...

    java中继承与多态的题目

    Java 中继承与多态的题目 本资源摘要信息是关于 Java 中继承和多态的题目,涵盖了面向对象编程的基本概念和继承机制的应用。 继承的概念 继承是面向对象编程的一种机制,允许一个类(子类)继承另一个类(父类)...

    Java类继承代码示例,定义Person类,Student类继承自Person类,并添加其他信息

    说明: 这是一个包含两个类的Java程序代码示例,Person类表示一个人的基本信息,包括姓名、年龄和爱好列表;Student类表示一个学生对象,继承自Person类,并添加了学生ID和专业名称的信息。主程序入口Main类中创建了两...

    Java 实现继承实例代码

    这个例子展示了Java继承的核心概念,包括: 1. 使用`extends`关键字创建子类。 2. 访问和覆盖父类的方法。 3. 添加子类特有的方法。 4. 多态性的应用。 通过学习这个实例,开发者能够更好地理解和运用Java的继承...

    Java类继承关系中的初始化顺序实例详解

    Java类继承关系中的初始化顺序实例详解 Java类继承关系中的初始化顺序是Java编程语言中的一個重要概念。该概念关系到类的初始化顺序,静态成员变量的初始化顺序,普通成员变量的初始化顺序等。在本文中,我们将详细...

    Java--类的继承

    在Java编程语言中,类的继承是面向对象编程的一个核心概念,它允许我们创建新的类(子类)基于已存在的类(父类或超类)。继承提供了代码的复用性,使得子类可以共享父类的属性和方法,同时还可以添加自己的特定功能...

    java继承类实例

    在这个特定的程序中,我们看到了一个关于Java继承的实例,它演示了子类对象初始化时涉及的各个步骤,包括构造方法、初始化值、父类构造方法以及父类的初始化值。 首先,我们有一个名为`Parent`的父类,它有两个实例...

    南邮java实验二类继承.doc

    Java 类继承实验报告 本实验报告的主要目的是掌握 Java 中的类定义、对象创建和使用、类继承的概念,以及派生类的定义。实验中,我们将定义一个名为 MyRectangle 的类,代表矩形,并派生出一个名为 MyCuboid 的子类...

    java类和对象继承多态性

    java类和对象继承多态性 java类和对象继承多态性是java语言中的一种基本机制,它允许开发者创建一个新的类,并继承已有的类的属性和行为。这种机制可以提高代码的复用性和维护性。 继承是java语言中的一种机制,...

    java类的继承实例

    Java 类的继承是其面向对象特性中的核心概念之一,它为代码重用和构建复杂的软件结构提供了基础。在 Java 中,一个类可以扩展另一个类的功能,这个被扩展的类被称为父类(或超类),而扩展的类则称为子类(或派生类...

    李兴华java继承的应用

    在这个名为“李兴华java继承的应用”的主题中,我们将深入探讨Java类继承的概念、语法以及其在实际编程中的应用。 1. **类的继承概念** 在Java中,类的继承是通过使用关键字`extends`来实现的。子类可以获取父类的...

    关于超市购物的java类的继承实例。

    在Java编程语言中,类的继承是面向对象编程的一个核心概念。这个实例是关于如何在超市购物场景下应用继承机制的。在这个系统中,我们有以下几个关键类:`ShoppingCar`(购物车)、`Database`(数据库)、`McBean`...

    java 继承泛型类示例

    了解这些概念后,我们可以看到`GenericClass.java`文件可能包含了关于如何创建和使用继承泛型类的实际代码示例。而`Java.jpg`可能是用于辅助解释的图像,比如类结构图或代码截图。在实际学习过程中,结合代码和图像...

    Java IO类继承关系

    JavaIO类InputStream/OutputStream继承关系图,使您对IO类一目了然

    java基础类与继承.ppt

    Java中的类与继承是面向对象编程(Object-Oriented Programming, OOP)的核心概念,它们在构建复杂的软件系统中起到至关重要的作用。面向对象编程是一种编程范式,它基于对象和类的概念,通过继承、封装和多态等特性...

    java继承例题

    Java继承是面向对象编程(OOP)的一种机制,允许一个类继承另一个类的成员变量和成员方法。通过继承,可以实现代码的重用和扩展。 在Java中,继承是通过使用关键字`extends`来实现的。例如,`class B extends A`...

    Java中extends类的继承

    在Java编程语言中,`extends`关键字用于实现类的继承机制。类的继承是面向对象编程的一个核心特性,它允许一个类(子类)继承另一个类(父类)的属性和方法,从而实现代码的复用和扩展。下面将详细探讨`extends`...

    Java 类和继承相关代码集

    Java 类和继承是面向对象编程的核心概念,它们构成了Java程序设计的基础。在这个代码集中,我们很显然会看到一系列关于如何创建和使用Java类以及实现继承的示例代码。以下是对这些概念的详细解释: 1. **Java 类**...

Global site tag (gtag.js) - Google Analytics