栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java类内部的方法名称可以相同吗?

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java类内部的方法名称可以相同吗?

答:java类内部的方法名称可以相同。

原因:
java的一个特性是“多态性”。多态性包括两种:
①类内部多态(重载)。
②继承中多态(覆写)。

类内部的多态:在一个类的内部如果有多个方法的方法名相同参数列表不同。

由类内部多态的定义可知,同一个类中,可以出现相同名称的方法,但是参数列表一定要不同。其中最典型的就是有参和无参的构造方法。

实体类中有参和无参的构造方法:

	//无参构造方法
	public Animal() {
	
    }
    

	//无参构造方法
    public Animal(String lb, String name, Integer age) {
        this.lb = lb;
        this.name = name;
        this.age = age;
    }

同理,在抽象类和接口中,在参数列表不同的情况下,也可以出现方法名称相同的方法。

抽象类示例:

public abstract class b {
   abstract int get();
   abstract int get(int a);
}

接口示例:

public interface a {
    int get();
    int get(int a);
}

注意:mybatis框架xml标签与接口绑定

上面说到,接口中可以定义两个方法名一样参数列表不同的方法,那是不是意味着xml文件中的sql语句标签(以select标签为例)中的id是可以重复的呢?
答案:id是不可以重复的。因为id是唯一标识,与接口方法绑定,形成映射。
如果xml存在重复id,maven项目启动时会出现报错信息:

org.springframework.beans.factory.UnsatisfiedDependencyException:……

Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.od.dao.idao.CityMapper.BaseResultMap
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/865413.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号