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

作者:mdxy-dxy 时间:2022-05-06 06:40:16 

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

1)继承是子类获得父类的成员。
2)重写是继承后重新实现父类的方法。
3)重载是在一个类里一系列参数不同名字相同的方法。
4)多态则是为了避免在父类里大量重载引起代码臃肿且难于维护。

网上看到一个有趣的说法是:继承是子类使用父类的方法,而多态则是父类使用子类的方法。

下面的例子包含了这四种实现:

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类的方法是重载。
比较红色的和粉红的部分就可以发现多态对重载的优点:如果用重载,则在父类里要对应每一个子类都重载一个取得边数的方法;如果用多态,则父类只提供取得边数的接口,至于取得哪个形状的边数,怎样取得,在子类里各自实现(重写)。

标签:重载,继承,重写,多态
0
投稿

猜你喜欢

  • Android开发中Button组件的使用

    2021-07-08 07:18:13
  • android实现倒计时动态圈

    2023-09-15 03:18:33
  • Java字节码中jvm实例用法

    2023-08-08 05:25:09
  • Android 高仿微信朋友圈动态支持双击手势放大并滑动查看图片效果

    2021-08-21 21:16:40
  • 基于WPF实现控件轮廓跑马灯动画效果

    2022-05-03 20:10:08
  • java长整除问题浅谈

    2023-05-22 06:06:23
  • 基于C#模拟实现回合制游戏

    2021-08-01 23:09:55
  • java实现udp通讯的代码

    2022-07-18 13:28:52
  • Android仿百度谷歌搜索自动提示框AutoCompleteTextView简单应用示例

    2022-12-07 07:30:59
  • Springboot通过谷歌Kaptcha 组件生成图形验证码功能

    2021-07-24 23:42:47
  • 解决C#获取鼠标相对当前窗口坐标的实现方法

    2022-10-07 12:57:57
  • SpringBoot中利用AOP和拦截器实现自定义注解

    2022-09-14 00:26:53
  • IDEA实用好用插件推荐及使用方法教程详解(必看)

    2021-07-15 19:10:44
  • spring boot实现过滤器和拦截器demo

    2023-08-24 07:15:01
  • idea统计代码行数Statistic的步骤详解

    2021-12-06 13:32:55
  • java对象转换String类型的三种方法

    2023-11-09 15:50:59
  • Java实现简单猜数字小游戏

    2023-11-28 08:10:07
  • javaSE基础如何通俗的理解javaBean是什么

    2023-09-20 00:34:13
  • 修改maven本地仓库路径的方法

    2022-08-09 13:44:16
  • 使用Java 实现一个“你画手机猜”的小游戏

    2021-06-03 19:19:27
  • asp之家 软件编程 m.aspxhome.com