===============================
接口冲突问题==============================
interface Ainterface {
public String say();
}
interface Binterface {
public int say();
}
/**
* 接口冲突的问题(不能被解决的问题)
* @author Ericy
* @version 1.0
*/
public class Interface implements Ainterface, Binterface {
// 提示错误一:The return type is incompatible with B.say()
// -->返回类型和B.say()方法不兼容
// 提示错误二:Duplicate method say() in type Interface
// -->在Interface类型中say()方法重复了
// 因为返回值类型不包含在方法的重载的范围内(方法重载:形式参数类型、个数、顺序的不同)
@Override
public String say() {
// TODO Auto-generated method stub
return null;
}
@Override
public int say() {
// TODO Auto-generated method stub
return null;
}
}
=================================
重载模糊问题===============================
interface A {}
interface B {}
/**
* C类实现A接口和B接口
* @author Ericy
* @version 1.0
*/
class C implements A, B {}
class D {
/**
* say(...)方法重载
* @param a A类型的参数
*/
public void say(A a) {
System.out.println("A");
}
/**
* say(...)方法重载
* @param b B类型的参数
*/
public void say(B b) {
System.out.println("B");
}
}
/**
* 重载模糊的问题(是可以被解决的问题)
* @author Ericy
* @version 1.0
*/
public class Overload {
public static void main(String[] args) {
D d = new D();
C c = new C();
// 这就是重载出现模糊的地方,编译器不知道要怎么识别c对象到底是A类型的还是B类型的。
// 解决该问题:你就必须告诉编译器我当前的这个c对象是A类型还是B类型的。
d.say((A) c);
d.say((B) c);
}
}
分享到:
相关推荐
使用前缀解决命名冲突问题 371 使用命名空间 371 命名空间属性 372 统一资源标识符 372 默认的命名空间 372 使用命名空间 373 XML 文档规则 374 XML Schema 379 Schema和DTD的区别: 380 Schema的数据类型 380 样式...
Java中,一个类只能单继承,但可以实现多个接口,所以B和C不正确。D项表述模糊,虽然单一继承限制了类的继承结构,但它使得代码更容易理解和维护。 5. 当x的取值在-3到0之间(不包括0)时,会打印字符串"second",...
模糊查询的LIKE语句可以通过在Mapper XML中使用like标签实现。传递多个参数可以通过Map、注解@Param或使用多个参数,MyBatis会自动处理。 MyBatis的Mapper接口绑定有注解方式和XML方式两种实现,接口调用时需要确保...
它不仅有助于提高代码的可读性和可维护性,还能促进团队间的协作效率,减少误解和冲突。本文将深入探讨若帮科技公司Android部门的编码规范,主要涵盖命名基本原则、编程基本命名规范、分类命名规范以及Javadoc注释的...
- **避免模糊命名**:例如,避免使用类似`xxK8`这样缺乏意义的属性名,可能导致多义性和混淆。 - **排除冗余信息**:在面向对象的语言中,无需在类属性名称中包含类名,如使用`Book.Title`而非`Book.BookTitle`。 - ...
- 唯一性:确保不同实体的名称不会混淆,避免命名冲突。 - 合适的长度:名称既要简明扼要,也要具备足够的描述性。 2. **命名基本规范** - 避免模糊或难懂的名称,如避免使用xxK8等不明确的命名。 - 类属性的...