java中并不是任意多个接口都可以实现多实现

interface A{
   public abstract void show();
}

interface B{
   public abstract int show();
}

public class Test implements A, B{
   public void show(){
       System.out.println("A show!");
   }
   /*
        只写 void show()出现的问题:
        Test不是抽象的, 并且未覆盖B中的抽象方法show();
   */
   public int show(){
       System.out.println("B show");
   }
   /*
         当int show 方法写了出现的问题:
         错误: 已在类 Test中定义了方法 show()。 也就是这两个show()方法在Test中是歧义的!
   */
   public static void main(String[] args){

   }
}

  

java中并不是任意多个接口都可以实现多实现

时间: 2024-10-10 01:10:45

java中并不是任意多个接口都可以实现多实现的相关文章

Java中的深克隆和浅克隆——Cloneable接口

一.没有使用克隆带来的问题 public class CloneTest { static Student s = new Student("aaa", 20); // 直接赋值带来的问题 public static void noclone() { // 传的是引用的副本,改变了noCloneStudent也改变了s Student noCloneStudent = new Student(); noCloneStudent = s; noCloneStudent.setName(&

java中,一个类实现某个接口,必须重写接口中的所有方法吗

不一定,关键要看子类是否是抽象类.如果子类是非抽象类,则必须实现接口中的所有方法: 如果子类是抽象类,则可以不实现接口中的所有方法,因为抽象类中允许有抽象方法的存在!1.抽象类定义抽象类往往用来表征对问题领域进行分析.设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象.通常在编程语句中用 abstract 修饰的类是抽象类.在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象:在java中,含有抽象方法的类称为抽象类,同样不能生成对象.抽象类是不完整的,它只能用作基类

java中的异步处理和Feature接口(一)

背景介绍想象这样一个场景:你可能希望为你的法国客户提供指定主题的热点报道.为实现这一功能,你需要向 谷歌或者Twitter的API请求所有语言中针对该主题最热门的评论,可能还需要依据你的内部算法 对它们的相关性进行排序.之后,你可能还需要使用谷歌的翻译服务把它们翻译成法语,甚至 利用谷歌地图服务定位出评论作者的位置信息,最终将所有这些信息聚集起来,呈现在你的网站上. 典型的“混聚”式应用 在这种“混聚”应用式的应用中,我们的应用可能会有以下两种需求: 由于我们调用的许多都是外部提供的接口,极有可

java 中调用支付宝支付功能的接口

支付宝接口: 申请支付宝接口服务: 1.https://fuwu.alipay.com/platform/doc.htm#c11   Java-JDK 1.5 SDK 2.https://cshall.alipay.com/enterprise/help_detail.htm?help_id=516349 java 调用jdk服务: 1.https://openhome.alipay.com/platform/document.htm#down 2.https://b.alipay.com/or

Java中的类继承机制、接口

1)声明一个Person类,有name(String类型).age(int类型).sex(char类型)属性,通过构造方法进行赋值.一个show方法,返回String类型,内容如下: 某某 男(女) 年龄 2)声明一个Student类,继承Person类,增加id(int,学号)属性,通过构造方法,利用super调用父类构造方法来进行变量赋值.Override父类的show方法,返回String类型,内容如下: 某某 男(女) 年龄 学号 (提示:利用super调用父类的show方法得到除学号部

java中利用继承类和Runnable接口实现多线程的区别

利用继承Thread类实现的多线程无法资源共享 如下程序 class MyThread extends Thread{ public MyThread(String name){ super(); this.name=name; } public void run(){ while(tickets==0?false:true) { tickets--; System.out.println(name+" just selt one ticket,only "+tickets+"

关于java中任意对象强制转换为接口类型的问题

java中任意对象强转为接口类型都不会有编译错误 public class Apple implements Eatable{ public static void main(String args[]) { Drinkable drinkable = (Drinkable)new Apple(); } } interface Eatable{} interface Drinkable{} java中的类可以多实现接口,Java编译器无法判断该类是否实现了该接口所以不会有编译错误. 但是Java

java中抽象类和接口的用法和区别

一.抽象类 1.抽象类 包含一个抽象方法的类就是抽象类 2.抽象方法 声明而未被实现的方法,抽象方法必须使用abstract关键词字声明 public abstract class People { //关键词abstract,声明该类为抽象类 public int age; public void Num() { } public abstract Name(); //声明该方法为抽象方法 } 3.抽象类被子类继承,子类(如果不是抽象类)必须重写抽象类中的所有抽象方法 4.抽象类不能被直接实例

关于Java中继承多接口同名方法的问题

在Java中如果一个类同时继承接口A与B,并且这两个接口中具有同名方法,会怎么样? 动手做实验: 1 interface A{ 2 void fun(); 3 } 4 interface B{ 5 void fun(); 6 } 7 interface C extends A,B{ 8 9 } 10 public class Test implements C{ 11 @Override 12 public void fun() { 13 System.out.println("hehe&quo