`
海王子1994
  • 浏览: 43677 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

类的继承总结

阅读更多
   在生活中我们往往把许多东西归为一个整体,如球有篮球,足球,高尔夫球等,它们都具有球类共有的属性和方法,对于属性来说如大小,体积,重量等,对于方法亦如此。既然如此,在定义各种球的同时我们难道要重复定义相应的类,而且还要重复编写已有的代码吗??
显然,简洁之美才为我们所推崇。于是,联系生活中的继承关系,类的继承就此诞生。
    Java继承的关键字是extends,格式为:
        public class 类名(子类,超类,派生类) extends 类名(父类,基类) {

}
   谈到继承,我们脑海中自然浮现出几个问题:子类继承了父类的哪些属性和方法?能调用哪些属性和方法?实际上,子类继承了父类所有的属性和方法,然而,却不能调用所有的属性和方法。此外,调用也分为两种情形 :
1.当子类和父类在同包下时:默认的,受保护的,公有的属性和方法能被子类的对象以及在子类中调用。
2.当子类和父类不在同一个包下时,若创建的对象不在子类或者父类中时,可调用的属性和方法就只有公有的;如果在子类的{}中,可调用的属性和方法包括公有的和受保护的。
   此外谈到继承,我们也会提到“方法重写”这个名词。比如说编写打球的方法与打篮球的方法代码时,就是在进行方法重写。实现方法重写的条件:两者必须要存在继承关系,而且方法的返回值数据类型,方法名,参数个数,参数类型,参数顺序必须要完全一致。不过呢,子类在重写方法时,访问修饰符的范围可以大于或者等于父类方法的访问修饰符。俗话说:“姜还是老的辣,酒还是陈的香!”不过尼,在方法重写这里,你如果惦记这个就out了! 当实现方法重写后,如果你创建的对象是子类的对象,那么会优先调用子类的方法,如果子类没有改方法,才会执行父类中定义的方法。
   再讲下一个相关的名词“自动转型”。自动转型有两种格式:
                     格式一:
父类  对象名;
对象名 = new 子类名(实参,...);
父类  对象名  = new 子类名(实参,...);

格式二:
第三方类中的方法
public void method(父类 对象名){
//调用的方法必须要在父类中存在
}
创建对象
父类  对象名A  = new 子类名(实参,...);
子类  对象名B  = new 子类名(实参,...);

调用方法
method(对象名A);
method(对象名B);
它的条件也是两者必须有继承关系。可以发现,使用自动转型,我们能实现多态(由方法重载,继承,方法重写,自动转型等技术点的组合),减少重复的代码。只是它也存在缺陷,Java在编译程序时,只会根据对象名的类型,去查找是否存在该方法,如果存在,则通过编译,如果不存在则报错。
  
分享到:
评论

相关推荐

    封装继承多态总结

    封装继承多态总结

    JAVA中的继承学习总结

    JAVA中的继承学习总结JAVA中的继承学习总结

    继承和抽象类的总结

    这个文档总结概括了继承和抽象类的相关知识以及需要注意的事项

    继承与派生总结

    c++继承与派生总结 面向对象的程序设计中提供了类的继承机制,允许...以原有的类为基础产生新的类,我们就说新类继承了原有类的特征,也就是说从原有类派生了新类。 类的派生机制的好处在于:代码的重用和可扩充性。

    Java实验报告——类的继承、多态的应用

    1、实验名称:类的继承、多态的应用 2、代码内容:学生管理类 3、【实验目的】 (1)进一步熟悉抽象类和抽象方法的定义 (2) 进一步掌握集成和多态的实现方式。

    Java继承_抽象类与接口的应用.

    1.继承及继承实例 2.方法重写(Overwrite) 3.super关键字 4.方法重载(Overload) 5.final修饰符 6.abstract修饰符 7.抽象类 8.接口 9.接口和抽象类对比 10.接口和抽象类使用场合实例 11.总结

    C++类总结多态继承

    C++中类的总结,适合毕业找工作,或新手突击C++用

    Java方法继承、方法重载、方法覆盖总结

    Java方法继承、方法重载、方法覆盖总结。比较具体细致地描述他们之间的连系与区别,需要的同学可以看看。

    关于类与继承和相关基础东西总结

    NULL 博文链接:https://java--hhf.iteye.com/blog/1699633

    MinGW如何存储对象、如何实现类继承、 多态.pptx

    通过代码举例总结的的方式,对c++的类对象在MinGW编译器中存储的机制,以及继承、多态等c++特性的实现机制。

    类的继承与代码的复用

    {实验报告需单独下载,不过源代码里有注释} ...总结:先建立一个抽象类shape,然后建立一个核心类求体积(面积*高),再建立各种实例图形(对抽象类的继承),直接可输出图形体积,即实现了代码的复用。

    《java面向对象程序设计-继承和多态》教案.doc

    } 创建接口的步骤 2-2 接口使用示例 总结 封装、继承和多态是面向对象的主要特征 继承可提高代码的重用性,使用extends关键字来实现。除了构造方法之外,父类的所有 方法和属性都被子类的对象继承 多态性是不同的...

    java语言内部类总结

    定义在一个类内部的类叫内部类,包含内部类的类...内部类可以声明public、protected、private等访问限制,可以声明为abstract的供其他内部类或外部类继承与扩展,或者声明为static、final的,也可以实现特定的接口。

    【JavaScript源代码】深入JS继承.docx

     目录 前言准备总结继承的n种方式原型式继承原型链式继承借用构造函数(类式继承)组合继承寄生组合式继承结束语 前言 准备 总结 继承的n种方式 原型式继承原型链式继承借用构造函数(类式继承)组合继承寄生组合...

    C++程序设计,主要为C++语言简介、面向对象的基本概念、类和对象进阶、运算符重载、类的继承与派生、多态与虚函数等章节总结

    内容主要为:C++语言简介、面向对象的基本概念、类和对象进阶、运算符重载、类的继承与派生、多态与虚函数、输入/输出流、文件操作、函数模板与类模板九个章节的相关知识点总结,其中包括知识点介绍,知识点分析,...

    在JavaScript中模拟类(class)及类的继承关系

    今天我主要谈谈Javascipt中模拟“类”的方法及js中继承的总结和回顾。 js中实现“类”与继承,既是重点,又是难点。很多同学可能都对js中“类”与继承都有所了解,但是深入剖析的时候,感觉力不从心、模棱两可。 ...

    JavaScript类的继承操作实例总结

    本文实例总结了JavaScript类的继承操作。分享给大家供大家参考,具体如下: 一、类式继承 首先要做的是创建构造函数。按惯例,其名称就是类名,首字母应该大写。在构造函数中,创建实例属性要用关键字this 。类的...

    Ruby类继承、抽象类、类拓展混入、代理类实例

    1、类继承: 当多个类公用很多方法的时候可以将公用方法部分抽取出来,需要的类做相关继承。 例子: 代码如下: class A ”it was a “ C.new.a #=>”it was a “ 2、抽象类 当多个类要继承一个类时,用第一种方法...

Global site tag (gtag.js) - Google Analytics