`
小果果
  • 浏览: 117243 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

重载,继承,重写和多态的区别

    博客分类:
  • Java
 
阅读更多
重载,继承,重写和多态的区别:
继承是子类获得父类的成员,重写是继承后重新实现父类的方法。重载是在一个类里一系列参数不同名字相同的方法。多态则是为了避免在父类里大量重载引起代码臃肿且难于维护。
网上看到一个有趣的说法是:继承是子类使用父类的方法,而多态则是父类使用子类的方法。
下面的例子包含了这四种实现:
class Triangle extends Shape {
public int getSides() {
  return 3;
}
}
class Rectangle extends Shape {
public int getSides(int i) {
  return i;
}
}
public class Shape {
public boolean isSharp(){
  return true;
}
public int getSides(){
  return 0 ;
}
public int getSides(Triangle tri){
  return 3 ;
}
public int getSides(Rectangle rec){
  return 4 ;
}
public static void main(String[] args) {
Triangle tri = new Triangle();
  System.out.println("Triangle is a type of sharp? " + tri.isSharp());
 
  Shape shape = new Triangle();
  System.out.println("My shape has " + shape.getSides() + " sides.");
}
}
红色是重载,绿色是重写,蓝色是继承,紫色是多态
注意Triangle类的方法是重写,而Rectangle类的方法是重载。
比较红色的和粉红的部分就可以发现多态对重载的优点:如果用重载,则在父类里要对应每一个子类都重载一个取得边数的方法;如果用多态,则父类只提供取得边数的接口,至于取得哪个形状的边数,怎样取得,在子类里各自实现(重写)。
分享到:
评论

相关推荐

    java 重载,继承,重写和多态的区别. doc

    java 重载,继承,重写和多态的区别. 下面的例子包含了这四种实现

    C#重写重载与多态

    重载:用于在给定了参数列表和一组候选函数成员的情况下,选择一个最佳函数成员来实施调用。多态:c#的多态性主要体现在类的继承上:子类继承父类的时候,可能出现同名但方法定义不同的情况, 所以在子类中会将原方法...

    java 重载,重写以及继承,多态的区别

    java 重载,重写以及继承,多态的区别

    [Java]重载,重写以及继承,多态的区

    [Java]重载,重写以及继承,多态的区

    继承与多态,重载和重写

    详细描述继承,多态的概念和应用,阐述重载和重写的区别

    java中重载,继承,重写和多态的区别

    主要介绍了java中重载,继承,重写和多态的区别,需要的朋友可以参考下

    Java中继承、多态、重载和重写介绍

    主要介绍了Java中继承、多态、重载和重写介绍,需要的朋友可以参考下

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

    super () 方法始终指向调用类的父类 调用父类构造方法 演示:示例 3 多态性 2-1 多态性是指¡°多种形式¡± 它使用不同的实例而执行不同操作 多态包括方法重写和方法重载 多态性 2-2 方法重载 2-1 方法重载 2-2 ...

    重载与覆写/重写的区别

    重载与覆写/重写的区别 区别 重载 覆写 1 单词 OverLoading Override 2 概念 方法名称相同,参数的类型或个数不同 方法名称相同,参数的类型或个数相 同,返回值类型相同 3 范围 发生在一个类之中...

    JAVA 面向对象程序设计第3章 继承与多态.pptx

    3.3 重载和重写;3.3 重载和重写;3.3.1 重载;3.3.1 重载;3.3.1 重载;3.3.2 重写;3.3.2 重写;3.3.2 重写;3.3.3 重写覆盖问题;3.3.4 学生实践练习;3.3.4 学生实践练习;3.4 多态;3.4 多态;3.4.1 多态应用;3.4.1 多态应用...

    java 接口 类 继承 多态的简单实例

    实现重载(overload)和重写(override) 调用中用到多态,向上转换,强制转换 所有被创建的类,都各自创建两个实现接口 最底层的类中创建内部类,并在外部类中调用内部类的方法

    javademo java知识的参考代码

    结合继承 重载 重写 多态等知识编写的代码

    第三章 继承与多态 掌握封装的含义及用法 什么是继承? 继承有什么作用? 怎么写继承?

    第三章 继承与多态 掌握封装的含义及用法 什么是继承? 继承有什么作用? 怎么写继承? 1.继承的概念及其用法 2.方法的重写及重载与其的区别 3.多态及其应用 4.super关键字 5.final关键字

    java多态机制

    java的多态机制的讲解,重写,重载,子类父类的继承 java多态的应用

    php 三大特点:封装,继承,多态

    overload:重载,编辑多态 三.多态(运行多态) 概念:父类引用子类实例,由于子类里面对父类的方法进行重写,父类引用在调用该方法的时候表现出的不同状态 条件: 1必须发生在集成下 2必须重写父类方法 3父类引用...

    C++编程思想习题

    12.5.2为一个类重载new和delete 12.5.3为数组重载new和delete 12.5.4构造函数调用 12.5.5对象放置 12.6小结 12.7练习 第13章 继承和组合 13.1组合语法 13.2继承语法 13.3构造函数的初始化表达式表 13.3.1成员对象...

    java 核心语法串讲PPT部分

    继承中的构造方法 继承中的类型转换 方法重载、重写 多态 static、final、abstract 接口 访问权限

    java面试题总结.docx

    方法的重载和重写都是实现多态的方式,前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载指的是一个类中具有多个功能相似的函数。重写是指子类继承了父类的方法并且覆盖了子类的方法。 方法重载的...

    关于Java的几个经典问题

    (四)——final、finally和finalize的区别 (五)——传了值还是传了引用(六)——字符串(String)杂谈 (七)——日期和时间的处理 (八)——聊聊基本类型(内置类型)(九)——继承、多态、重载和重写(十)...

    JAVA面试题解惑系列114页.pdf

    (一)类的初始化顺序 (二)到底创建了几个String 对象? (三)变量(属性)的覆盖 (四)final、finally 和finalize 的区别 ...(九)继承、多态、重载和重写 (十)话说多线程 (十一)这些运算符你是否还记得?

Global site tag (gtag.js) - Google Analytics