`

什么是多态及继承的几种方式

 
阅读更多
                  ========正文========
    、对于多态的理解
    java中的类既有并列的关系,如一个家庭中几个子女是并列关系,也有包含的关系,如父母可以看作是子女的包含。其中最重要也最常用的要数包含关系,就是类与类之间的继承和借口与类之间的实现。
    java中类可以继承自另一个类,也可以有自己的子类,好像家族谱一样,你有父母,也有自己的儿女。父类的公有方法和属性可以被子类继承,子类也可以重写父类中的方法。
    (注意:子类重写父类的方法时,该方法必须在父类中存在。)
    除了类与类之间的继承关系之外,java中还提供了一种叫做接口的东西,初学者可以把接口理解为对象存放方法的容器,接口就是规范调用方法时的用法,而且接口也是实现java中多态机制的重要成员之一。在接口中定义方法,然后在类中先implements接口,之后才可以在类中具体化方法体。java就是通过这些功能来达到多态的目的的。
    、下面是分点谈谈对于类,接口及多态的理解及某些格式。
    1.为了避免重复写某些相同的代码,类与类之间就通过继承机制来达到该目的。

    2.继承的语法格式:
public class 子类名 extends 父类名 {}
    关键字是extends。
 
    3.当子类和父类在同一包下时,子类可以继承父类中公有的、受保护的、默认的方法和属性,私有的方法和属性以及构造函数都不可以被子类继承。
   
    (注意:如果不在同一包下时,只能继承公有的方法和属性。)
 
  4.当子类和父类方法的具体实现不同时,就用方法重写。重写的条件:要有继承关系,且重写的方法必须在父类中存在。

  5.自动转型
    作用:假如各个子类都有共同的实现方法,则可以用自动转型来实现和减少代码量。格式如下:
格式1:
父类名  对象名  =  new  子类构造函数();
格式2:
     Young y = new Young();
     public void test(people p){}
         people p=y;
  6.多态就是程序通过方法重载、继承、方法重写、自动转型来确定程序运行时调用的究竟是父类的还是子类的方法或属性。
0
0
分享到:
评论

相关推荐

    学习笔记:抽象封装、继承、多态.doc

    本文档记录了类与类的、抽象封装、继承、多态几种表现形式,通过实际开发,加上自已的理解总结了这几种表现形式。。对开刚学习java的朋友们非常有用,还加上的例子,比较易懂。。。欢迎大家下载哦。。

    OOExample继承多接口反射在多态时的比较(VB.net)

    逐一针对继承、多接口、反射以及几种混合使用中的多态比较 来显示各自的优缺点。 博客文源代码存档

    最全的cc++面试试题

    1.介绍一下STL,详细说明STL如何实现vector。 2.如果用VC开发程序,常见这么...5.参数传递有几种方式;实现多态参数传递采用什么方式,如果没有使用某种方式原因是什么; 6.结合一个项目说明你怎样应用设计模式的理念。

    VB 2010 (20)多态性源码.rar

    实现多态性行为的方法有以下几种:后期绑定,,多接口,反射,继承.后期绑定实际上是以降低性能和编程的便利性为代价来实现纯多态性的。通过多接口和继承实现多态性,性能更好,编程也更容易。通过反射,我们既可以使用...

    C#中多态性的实现

    C#语言三大特性:继承,封装,多态 一:多态性 多态是指一个行为具有多个不同表现形式的能力,在C#中通过多态性的检测时机可以分为静态多态性和动态多态性 静态多态性:函数重载和运算符重载 动态多态性:抽象方法...

    java面试常见问题.docx

    请解释Java中的封装、继承和多态的概念是什么? Java中的访问修饰符有哪几种?它们的区别是什么? 请解释Java中的抽象类和接口的概念及区别是什么? 请解释Java中的泛型(Generic)是什么?它有什么作用? Java中的...

    Java复习大纲面试题.doc

    一、简答题 1.编译java程序使用什么命令?运行java使用什么命令?...区别:方法重载没有继承、属于一种静态联编技术。 方法重写有继承、属于动态联编技术。 10.什么是抽象类?什么是接口?抽象类与接口的区别?

    JavaScript定义类的几种方式总结

    提起面向对象我们就能想到类,对象,封装,继承,多态。在《javaScript高级程序设计》(人民邮电出版社,曹力、张欣译。英文名字是:Professional JavaScript for Web Developers)这本书中描述的还算比较详细。我们...

    《c++面向对象程序设计》8-12章课后答案

    在C++语言中实现了哪几种多态性?请说明通过什么方式实现。 在C++语言中实现了编译时多态性和运行时多态性。 编译时多态性通过函数重载,运算符重载和模板实现。模板实现的多态性又称为参数多态性。 在C++语言中运行...

    Java面试宝典2020修订版V1.0.1.doc

    11、列举几种表连接方式,有什么区别? 43 12、主键和外键的区别? 44 13、在数据库中查询语句速度很慢,如何优化? 44 14、数据库三范式是什么? 44 15、union和union all有什么不同? 45 16、char、varchar2、varchar...

    摩托罗拉C++面试题

    5.参数传递有几种方式;实现多态参数传递采用什么方式,如果没有使用某种方式原因是什么; 传值,传指针或者引用 6.结合一个项目说明你怎样应用设计模式的理念。 设计模式更多考虑是扩展和重用,而这两方面很多情况...

    程序员在运用C++语言写代码的时候需要注意的五个方面.docx

    程序员在运用C++语言写代码的时候需要...5.对多态的深入理解 - C ++中的多态是一种非常强大的功能,它可以通过虚函数和继承来实现。多态可以使代码更加灵活和可扩展。但是,在使用多态时需要注意多态的实现方式和性能。

    第17章_职责链模式.ppt

    类行为型模式:类的行为型模式使用继承关系在几个类之间分配行为,类行为型模式主要通过多态等方式来分配父类与子类的职责。 对象行为型模式:对象的行为型模式则使用对象的聚合关联关系来分配行为,对象行为型模式...

    涵盖了90%以上的面试题

    数组初始化的方式有哪几种 length属性和length()方法有什么区别 finally块中的代码什么时候被执行 Java中的异常处理机制的简单原理和应用。 java socket java序列化 JVM加载class文件的原理 双亲委派模型 为什么要...

    PHP中Trait及其应用详解

      熟悉面向对象的都知道,软件开发中常用的代码复用有继承和多态两种方式。在PHP中,只能实现单继承。而Trait则避免了这点。下面通过简单的额例子来...有以下几种方案:  继承  多态  Trait  1.1. 继承  如图:

    JAVA语言教学案例

    面向对象和面向过程是两种程序的编写的方式,其区别与联系是一个很大的话题,仁者见仁智者见智,因为面向对象包含有三大典型特征:封装、继承、多态,具有信息隐藏、重用等特征,如果单纯强调某一个特征就好象...

    几种工厂模式实现方法和比较

    利用设计模式可以使我们的代码更灵活,更容易扩展,更容易维护。各种面向对象的程序设计语言都提供了基本相同的机制:比如类、继承、派生、多态等等。

    Java面试题.docx

    B系统可以使用电池供电或者用交流电,甚至还有可能是太阳能,A系统只会通过B类对象调用供电的方法,但并不知道供电系统的底层实现是什么,究竟通过何种方式获得了动力)。方法重载(overload)实现的是编译时的多态...

    php 5.4 全新的代码复用Trait详解

    熟悉面向对象的都知道,软件开发中常用的代码复用有继承和多态两种方式。在PHP中,只能实现单继承。而Trait则避免了这点。下面通过简单的额例子来...有以下几种方案: 继承 多态 Trait 1.1. 继承 如图: 代码结构如下:

    JAVASE-面试解惑.pdf

    面向对象是当今主流的程序设计思想,面向对象是对现实世界中事物的一种理 解和抽象,在现实生活中,任何物体都可以归... (3)面向对象具有抽象、封装、继承、多态 等特性。 面向对象的编程语言主要有:C++、Java、C#等

Global site tag (gtag.js) - Google Analytics