Java中方法多态以及多接口实现

关于java中方法多态

  1. 通过多子类重写父类或接口实现。
  2. 通过同类同方法(方法名相同,参数数量或者类型不同)实现,这里主要注意Java中判断同一方法的标准是方法名和参数,与返回值无关,如下,可简要看着yy(int a)

    package com.anteoy.coreJava.polymorphism;
    /**
     * Created by zhoudazhuang
     * Date: 17-1-9
     * Time: 下午9:07
     * Description :java识别是否为重复冲突函数,依靠的是函数名和参数,与返回值无关,如yy(int a)
     */
    public class Polymorphism {
        //注释代码编译不通过,即使参数都为空 不允许仅仅只有返回值不同的同名函数
        /*String yy(int a){
    
        }
        int yy(int a){
            return 1;
        }*/
        String yy(int a,String b){
            return null;
        }
        int yy(int b,int c){
            return 1;
        }
        int yy (int a,boolean b){
            return 1;
        }
    }

关于java中实现多接口有同名参数冲突

  1. 不同类中可以有public的同名变量
  2. 当实现的接口中有冲突的public static final的变量时,如果需要在实现类中引用,则需带上接口名,如下:
    interface Ia
package com.anteoy.coreJava.others;
/**
 * Created by zhoudazhuang
 * Date: 16-12-28
 * Time: 下午4:13
 * Description :
 */
public interface Ia {
    public static final int a = 2;
    int b = 3;

}

interface Ib

package com.anteoy.coreJava.others;
/**
 * Created by zhoudazhuang
 * Date: 16-12-28
 * Time: 下午4:13
 * Description :
 */
public interface Ib {
  public static int a = 1;
//    Ia.a;

}

interface OoTest

package com.anteoy.coreJava.others;

/**
 * Created by zhoudazhuang
 * Date: 16-12-28
 * Time: 下午4:38
 * Description : Ia,Ib接口有同名变量a,b只有其中一个有
 */
public class OoTest implements Ia,Ib{

    public int c = 0;

    {
        String sex = "ada";
    }

    public void oo(){
        OoTest ooTest = new OoTest();
//        int a = this.a; //编译报错
        int a = Ia.a;//编译通过
        int c = this.b;//编译通过
    }
}

interface OoTest2

package com.anteoy.coreJava.others;

/**
 * Created by zhoudazhuang
 * Date: 17-1-9
 * Time: 下午10:17
 * Description :
 */
public class OoTest2 {
    public int c = 0;
}
  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页
评论

打赏作者

anteoy

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值