`
bearsorry
  • 浏览: 93053 次
  • 性别: Icon_minigender_2
  • 来自: 湖南
社区版块
存档分类
最新评论

继承——总结

阅读更多
      各种事物即对象都有自己的属性和方法,各种对象之间会有或多或少的共同点,若将各对象的属性和方法都写一遍,会造成冗余,且看不出对象之间的联系,所以引入“继承”。
      顾名思义,继承至少需要两个类,即子类(class A)和父类(class B),子类继承父类的属性和方法,也可以拥有属于自己特有的属性和方法,格式为:class A extends B;
      子类继承父类,那么子类对象可以自动转型为父类对象,一个进行了由子类自动转型的父类生成的对象可以调用显示子类中的方法格式为:B b=new A();
       一个对象只能调用自己所在类中的方法,由于继承,子类可以调用父类中的方法,那么父类对象可不可以调用子类中的对象呢?
       当然可以,其实现的方式为方法的重写,这与方法的重载不一样,方法的重载是指在一个类中,相同类型和名字的方法所传递的形式参数的类型或个数不一样,根据实参与形参的对应关系来确定要调用的方法,而方法的重写是将父类中的方法头在子类中重写一遍,其在方法体中可以根据子类的需要而编写相应的代码;
        在JAVA中有一个很重要的表现形式为多态,就好比两个人做事所用的方法一样但结果不一定一样,同一个类的两个不同对象在调用同一个方法的时候,其结果就可能不一样,例如:
      public class A{
              int i;
              public viod aaa(){
                System.out.println("学习");
     }
}
       public class B extends A{
             public void aaa(){
         System.out.println("不学习");
      }
}
      public class Test{

       public static void main(String args[]){
               A aaa=new A();
                a.aaa();

               B b=new B();
               b.aaa();

               A a1=new B();
               a1.aaa();

           }
}
其结果为:学习
          在学习
          在学习

  以上可看出: 多态的表现形式为继承和方法的重载

一个类只能够继承一个父类
class A;
class B extends A;

当我们(知道应该做什么,但不知道怎样去做)不知道怎样描述一个共同点时,我们可以用接口将这些共同点抽象的表示出来,这样的类就是接口,定义一个接口的格式为:
    public interface C{
         public viod c();

接口里面的方法为抽象方法;
接口不能实例化,只能通过继承给子类后才能进行实例化,接口继承给子类的格式为:
                interface C;
class D implements C;
一个类可以实现多个接口
interface E;
interface F;
class G implements E,F;
一个接口可以继承多个接口
interface H extends E,F;


分享到:
评论

相关推荐

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

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

    Java自学之路——超仔细含练习项目及源码 Java知识体系最强总结————含各个阶段的面试题

    2.Java知识体系最强总结(含各个阶段的面试题) 3.Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java...

    Python语言入门——类

    本文描述:为什么使用类,使用class语句,类的方法,继承搜索名字空间树,在类中重载操作符,名字空间规则总结和用类来设计。

    Think in ActionScript 3.0Ⅰ Ⅱ Ⅲ汇总

    4.2 TestPerson.as —— 属性与方法的继承 4.3 TestExtends.as —— 继承的限制 4.4 内存分析 4.5 this 和 super 关键字 4.5.1 TestSuper.as —— this 和 super 以及 override 4.5.2 this 和 super 的内存分析 ...

    入门经典教程<<易学C++>>

    3 1.7 总结 3 第2章 Hello,World 4 第3章 各种各样的“箱子”——变量 12 第4章 要走哪条路——条件语句 20 第5章 有个圈儿的程序——循环语句 36 第6章 好用的“工具”——函数 51 第7章 好大的...

    基于某JAVA地剪刀石头布游戏设计——Java课程设计报告材料-.doc

    前言3 1剪刀石头布游戏设计思路阐述4 2程序概要设计5 功能需求分析5 性能需求分析5 程序框图5 Java类与自定义类相互继承的层次关系6 Java类与自定义类的说明6 类中成员与作用7 2.5程序运行效果与存在的问题7 2.5.1...

    易学C++高清完整pdf版

    第17章父与子——继承 228 第18章 再谈输入与输出 273 第19章 万用的模板 285 第20章 异常的处理 297 附录A 常用保留字列表 305 附录B 常见编译错误和解决方法 307 附录C 参考答案 310 附录D 参考文献...

    深入探索C++对象模型-总结笔记.pdf

    本书专注于C++面向对象程序设计的底层机制,包括结构式语意、临时性对象的生成、封装、继承,以及虚拟——虚拟函数和虚拟继承。这本书让你知道:一旦你能够了解底层实现模型,你的程序代码将获得多么大的效率。...

    易学C++ 含源代码

     第17章父与子——继承 228  第18章 再谈输入与输出 273  第19章 万用的模板 285  第20章 异常的处理 297  附录A 常用保留字列表 305  附录B 常见编译错误和解决方法 307  附录C 参考答案...

    重建——改善既有代码的设计

    3.11 ParallelInheritanceHierarchies(平行继承体系)83 3.12 LazyClass(冗赘类)83 3.13 SpeculativeGenerality(夸夸其谈未来性)83 3.14 TemporaryField(令人迷惑的暂时字段)84 3.15 MessageChains(过度耦合...

    易学C++[C++著名的基础书籍潘嘉杰著]

    3 1.7 总结 3 第2章 Hello,World 4 第3章 各种各样的“箱子”——变量 12 第4章 要走哪条路——条件语句 20 第5章 有个圈儿的程序——循环语句 36 第6章 好用的“工具”——函数 51 第7章 好大的...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    10.1.5 使用继承——问题迎刃而解 245 10.1.6 使用Bus类 248 10.1.7 Java中的单继承 248 10.1.8 Java中的类图 249 10.1.9 万类之祖——Object类 250 10.2 子类对象?父类对象? 251 10.2.1 父随子行 251 ...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    10.1.5 使用继承——问题迎刃而解 245 10.1.6 使用Bus类 248 10.1.7 Java中的单继承 248 10.1.8 Java中的类图 249 10.1.9 万类之祖——Object类 250 10.2 子类对象?父类对象? 251 10.2.1 父随子行 251 ...

    Python面向对象总结及类与正则表达式详解

    ——————————————————————————– 一丶面向对象技术简介 •类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。 •方法...

    零起点学通C++多媒体范例教学代码

    2.7 总结 第3章 初步了解函数 3.1 一个简单的函数 3.2 函数的传参 3.3 函数的返回值、参数与变量 3.4.函数的声明与定义 3.5 局部变量 3.6 全局变量 3.7 总结 第4章 C4-+数据类型 4.1 变量的定义 4.2 将变量及数据...

    零起点学通C++学习_多媒体范例教学代码

    14.7.5 函数传参实例五——判断数组排列方式后执行不同的函数 14.8 数组在对象中的传参 14.9 对象数组 14.10 在对象数组中初始化成员变量 14.11 指针数组 14.12 枚举常量与数组 14.13 多维数组 14.14 多维...

    python基础-类与对象(2)

    pytyhon基础——类与对象(2) 四、类的继承与重写1.继承2.多重继承3.重写五、类的多态六、特殊方法七、属性和方法总结 四、类的继承与重写 1.继承 继承是面向对象三大特性之一 - 通过继承我们可以使用一个类获取到...

    庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术

    1.4 可继承控件基类介绍 2 1.5 运行一个简单的控件 7 1.5.1 开发一个简单控件 7 1.5.2 部署和运行 11 1.6 控件生命周期 12 1.6.1 概述 12 1.6.2 用代码跟踪控件生命周期过程 14 1.7 本章总结 17 第2章 ...

    现代C++程序设计

    1.3.2 采用面向对象方法的ATM——究竟是谁的任务 1.3.3 汽车维护——结构化设计 1.3.4 采用面向对象方法的汽车维护——究竟是谁的任务 1.4 软件开发技术概述 1.5 问题发现与解决 复习题 第2章 C++的入门知识 2.1 ...

Global site tag (gtag.js) - Google Analytics