java基础——多态 重写 重载(自用记录)

一、多态

1、格式:

  • 父类类型  变量名 = new 子类类型();
  • 然后通过 变量名.方法名()调用在子类中重写的方法
  • 多态体现为父类引用变量可以指向子类对象:定义了一个父类类型的引用,指向新建的子类类型的对象,由于子类是继承他的父类的,所以父类类型的引用是可以指向子类类型的对象

2、例子:

父类:

abstract class Animal {  
    abstract void eat();  
}

子类:

class Cat extends Animal {  
    public void eat() {  
        System.out.println("吃鱼");  
    }  
}

启动类:

public class Test {
    public static void main(String[] args) {       
      Animal a = new Cat();  // 向上转型  
      a.eat();               // 调用的是 Cat 的 eat
  }

二、重写

1、例子:

接口:

public interface Gd {
    /**
     * 发送短信
     * @param phone   手机号
     * @param context 内容
     */
    void sendMsg(String phone, String context);
    /**
     * 打电话
     * @param phone 手机号
     */
    void call(String phone);
}

实现接口的父类:

public abstract class A implements Gd {
    @Override
    public void call(String phone) {
        System.out.println("功能开发中 尽情期待");
    }
}

子类1:

public class Dianxin extends A {
    @Override
    public void sendMsg(String phone, String context) {
//重写
        System.out.println("电信发送短信中。。。。。。。");
    }
}

子类2:

public class Yindong extends A{
    @Override
    public void sendMsg(String phone, String context) {
//重写
        System.out.println("移动发送短信中。。。。。。。");
    }
    @Override
    public void call(String phone) {
//重写
        System.out.println("移动 打电话。。。。");
    }
}

三、重载

1、含义:函数或者方法有同样的名称,但是参数列表不相同。

2、例子:

   public static String bankCall(String name, String bankCode, String amt) {
        return "发送成功";
    }

    public static String bankCall(String bankCode, String amt) {
        String name = getNameByCode(bankCode);
        /* 打款 */
        return "发送成功";
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值