精华内容
下载资源
问答
  • JAVA实现个接口

    千次阅读 2019-10-17 16:26:18
    因为这种情况下,我们需要让一个类同时继承多个父类,这件事情在有些编程语言中可以通过多继承的方式来实现,但是JAVA中只支持单继承,一个类只能继承一个父类,但是可以同时实现个接口,这样也就可以达到类似于多...

    题目:
    通过动物游泳奔跑飞行来模拟实现多个接口,因为这种情况下,我们需要让一个类同时继承多个父类,这件事情在有些编程语言中可以通过多继承的方式来实现,但是JAVA中只支持单继承,一个类只能继承一个父类,但是可以同时实现多个接口,这样也就可以达到类似于多继承的效果

    (1)

    
    public class Animal {
        protected String name;
    
        public Animal(String name) {
            this.name = name;
        }
    }
    
    

    (2)

    
    public class Fish extends Animal implements ISwimming{
        public Fish(String name) {
            super(name);
        }
    
        @Override
        public void swim() {
            System.out.println(this.name + "正在用尾巴游泳");
        }
    }
    

    (3)

    
    public class Frog extends Animal implements IRunning, ISwimming {
        public Frog(String name) {
            super(name);
        }
    
        @Override
        public void run() {
            System.out.println(this.name + "正在往前跳");
        }
    
        @Override
        public void swim() {
            System.out.println(this.name + "正在蹬腿游泳");
        }
    }
    
    

    (4)

    
    public class Cat extends Animal implements IRunning{
        public Cat(String name) {
            super(name);
        }
        @Override
        public void run() {
            System.out.println(this.name + " 正在用四条腿跑步");
        }
    }
    
    

    (5)

    
    public class Duck extends Animal implements ISwimming, IRunning, IFlying {
    
        public Duck(String name) {
            super(name);
        }
    
        @Override
        public void fly() {
            System.out.println(this.name + "正在用翅膀飞");
        }
    
        @Override
        public void run() {
            System.out.println(this.name + "正在用两条腿跑");
        }
    
        @Override
        public void swim() {
            System.out.println(this.name + "正漂在水上");
        }
    }
    
    

    (6)

    
    public interface IFlying {
        void fly();
    }
    
    
    public interface ISwimming {
        void swim();
    }
    
    
    public interface IRunning {
        void run();
    }
    

    (7)

    
    public class Test {
        public static void main(String[] args) {
            Cat cat = new Cat("小猫");
            walk(cat);
            Duck duck = new Duck("小鸭");
            walk(duck);
            Fish fish = new Fish("小鱼");
            swim(fish);
            Frog frog = new Frog("小青蛙");
            walk(frog);
            swim(frog);
        }
    
        public static void walk(IRunning running) {
            System.out.println("我带着伙伴去散步");
            running.run();
        }
    
        public static void fly(IFlying flying) {
            System.out.println("我看见伙伴在飞");
            flying.fly();
        }
    
        public static void swim(ISwimming swimming) {
            System.out.println("我带着伙伴游泳");
            swimming.swim();
        }
    }
    
    
    展开全文
  • java中一个接口可以继承几个接口

    千次阅读 2016-04-09 16:39:55
    一个类可以实现个接口: class D implements A,B,C{} 但是一个类只能继承一个类,不能继承多个类 class B extends A{} 在继承类的同时,也可以继承接口: class E extends D implements A,B,C{} 这也正是
    一个接口可以继承多个接口.
    interface C extends A, B {}是可以的.

    一个类可以实现多个接口:
    class D implements A,B,C{}

    但是一个类只能继承一个类,不能继承多个类
    class B extends A{}

    在继承类的同时,也可以继承接口:
    class E extends D implements A,B,C{}
    这也正是选择用接口而不是抽象类的原因
    展开全文
  • java中接口可以实现个接口吗?

    千次阅读 2016-04-01 14:35:17
    转自:...首先,java中的接口别说实现个接口了,一个接口也不能实现。因为接口中的方法是没有方法体的,所以不能实现任何

    转自:http://zhidao.baidu.com/link?url=ynEkm1J_9qIKgbEuNH6o-cSdGf4BSOdRsb0y-Xg1xIeQkUNADJscFgdEBcU1OAXLPERNjihY06lUDoUoyi6lDo2plbAadVx1xkBSO5LqWe_

    首先,java中的接口别说实现多个接口了,一个接口也不能实现。因为接口中的方法是没有方法体的,所以不能实现任何接口。
    其次,一个接口可以继承多个接口。因为类如果可以多继承,实例化时,如果要调用父类的方法,如果两个一样,根本就不知道该调用哪个父类的方法; 但是接口就不一样了,因为接口继承多个接口,就算多个接口有相同的方法,但是最终实现接口的类只能实现一个方法且@Override一个方法,所以调用时就不会有问题了。
    至于抽象类和普通类一样,因为抽象类中可以有普通的方法(带有方法体),也可以有抽象方法,所以抽象类可以实现多个接口。


    接口可以多继承,java中的单继承指的是类的单继承。






    展开全文
  • 多继承会产生钻石问题(菱形继承) 类 B 和类 C 继承自类 A,且都重写了类 A 中的同一个方法 ...接口中的方法是抽象的,一个类实现可以个接口 假设这些接口中存在相同方法(方法名与参数相同),...

    多继承会产生钻石问题(菱形继承)

    • 类 B 和类 C 继承自类 A,且都重写了类 A 中的同一个方法
    • 类 D 同时继承了类 B 和类 C
    • 对于类 B、C 重写的类 A 中的方法,类 D 会继承哪一个?这里就会产生歧义
    • 考虑到这种二义性问题,Java 不支持多重继承


    Java 支持类实现多接口

    • 接口中的方法是抽象的,一个类实现可以多个接口
    • 假设这些接口中存在相同方法(方法名与参数相同),在实现接口时,这个方法需要实现类来实现,并不会出现二义性的问题


    从 JDK1.8 开始,接口中允许有静态方法和方法默认实现。当检测到实现类中实现的多个接口中有相同的默认已实现的方法,编译报错


    PS:在JDK 1.5 上实践,接口可以多继承接口

    package constxiong.interview;
    
    /**
     * 测试继承多接口,实现相同方法
     * 从 JDK1.8 开始,接口中允许有静态方法和方法默认实现
     * 当检测到实现类中实现的多个接口中有相同的默认已实现的方法,编译报错
     * @author ConstXiong
     * @date 2019-11-21 10:58:33
     */
    public class TestImplementsMulitInterface implements InterfaceA, InterfaceB {
    
    	public void hello() {
    		System.out.println("hello");
    	}
    
    }
    
    interface InterfaceA {
    	
    	void hello();
    
    	static void sayHello() {
    		System.out.println("InterfaceA static: say hello");
    	}
    
    	default void sayBye() {
    		System.out.println("InterfaceA default: say bye");
    	}
    }
    
    interface InterfaceB {
    	
    	void hello();
    	
    	static void sayHello() {
    		System.out.println("InterfaceB static: say hello");
    	}
    
    //	default void sayBye() {
    //		System.out.println("InterfaceB default: say bye");
    //	}
    }
    

     


    【Java面试题与答案】整理推荐

     

    展开全文
  • 2.一个类的直接父类是唯一的 , 但是一个类可以同时实现个接口 3.如果实现类所实现的多个接口当中 , 存在重复的抽象方法 , 那么只需要覆盖重写一次即可 4.如果实现类没有覆盖重写所有接口当中的所有抽象方法 , 那么...
  • 问题:现有接口B和C,这两个接口中均包含了方法fun(); interface B{ public double fun(); } interface C{ public void fun(); } 如果类A实现了B和C接口,那么需要如何实现才不会出错? 关键:一个类实现了两个具有...
  • java 不支持多继承,但类可以实现个接口,间接的实现多继承,也可以通过内部类。 参考代码:MultiExtendsTest // 测试间接的实现多继承 public class MultiExtendsTest extends D implements A, B, C { @...
  • java对象实现Serializable接口

    万次阅读 2014-09-03 09:37:43
    理解java对象实现Serializable接口
  • java个接口拥有多个实现类,调用指定实现
  • java后台实现支付宝支付接口、支付宝订单查询接口 前端为APP  最近项目APP需要接入微信、支付宝支付功能,在分配开发任务时,听说微信支付接口比支付宝支付接口要难实现,由于我开发经验不是那么丰富(现工作经验1...
  • 2)实现Runnable接口创建线程 3)使用Callable和FutureTask创建线程 4)使用线程池,例如用Executor框架 5)Spring实现多线程(底层是线程池) 6)定时器Timer (底层封装了一TimerThread对象) 1.1 继承Thread类创建...
  • JAVA基础——接口(全网最详细教程)

    万次阅读 多人点赞 2018-05-10 09:46:42
    官方解释:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。 我的解释:接口...
  • 例如,假设有一ColorChangeAction动作监听器,它的actionPerformed方法可以将背景色改变成某种颜色,将这监听器添加到三事件源上:标记为ColorChange的菜单项、标记为ColorChange的工具栏按钮和按键组合CTRL+R...
  • java接口可以实现接口吗?抽象类呢?

    万次阅读 多人点赞 2017-05-15 15:52:56
    面试中可能会遇到这样的问题: 1.接口可以实现接口吗? ans:不可以. 2.抽象类可以实现接口吗? ans:可以
  • JAVA中implements实现接口

    千次阅读 2019-09-11 10:59:28
    JAVA中implements实现接口 这里有一游戏,人猿泰山。 主角是一单独的类,这里我们主要用怪物说明接口的用法: 怪物有很多种, 按地域分:有的在天上飞,有的在地上跑,有的在水里游 按攻击方式分:有的能近...
  • java实现个接口 重名方法问题

    万次阅读 2016-11-15 05:27:30
    public class Test{ public static void main(String[] args){ ...实现类里写个内部类,分别实现个接口 。 补:  java规范里, 方法名+参数(不含返回值类型) 唯一确定一个方法。  
  • 2. 一个类的直接父类是唯一的,但是一个类可以同时实现个接口。 格式: public class MyInterfaceImpl implements MyInterfaceA, MyInterfaceB { // 覆盖重写所有抽象方法 } 3. 如果实现类所实现的多个接口...
  • Java 异步实现种方式

    万次阅读 多人点赞 2019-01-03 15:31:40
    jdk并发包里的Future代表了未来的某个结果,当我们向线程池中提交任务的时候会返回该对象,可以通过future获得执行的结果,但是jdk1.8之前的Future有点鸡肋,并不能实现真正的异步,需要阻塞的获取结果,或者不断的...
  • java实现短信接口

    千次阅读 2016-09-06 10:43:56
    java实现短信验证码功能 今天给大家介绍一款253云通讯平台 首先进入他的253官网注册下面我已图文的方式来介绍 登录到此界面 下载官方的JDK 特别简单 新用户网站内会送十条短信 我还是用以前的3包的 把...
  • 个接口能继承另一个接口,和类之间的继承方式比较相似。接口的继承使用extends关键字,子接口继承父接口的方法。 下面的Sports接口被Hockey和Football接口继承: // 文件名: Sports.java public interfa
  • java 接口 三种实现方式

    万次阅读 2018-09-29 09:42:15
    无论第一种还是第二种还是,如果我们想要从接口中拿到数据,我们就必须得调用HttpClient或者其他的方式从接口获取信息,这项目中我使用到的是HttpClient。 HttpClient特性以及使用方法 ...
  • java几个常用类

    万次阅读 2018-07-12 10:33:01
    这段代码的含义是:首先申请内存单元,命名为a 同时将3这值存储内存单元中,然后又将5这只存入内存单元中,这内存单元的之前的只在被赋值后就被修改了。 String str =new String(“abc”)Str = “123”;对于...
  • java实现接口中的重写

    千次阅读 2019-12-05 19:23:52
    今天写了一Demo实验了下,发现关于接口中定义方法的规则有如下点: 1)接口中是可以定义静态方法的,静态方法必须要有实现。且这静态方法只能用public修饰或不写。 例如:public static void test(){} 或 ...
  • Java 获取接口所有实现

    万次阅读 2017-10-10 23:17:22
    利用Spring的Bean工厂,获取接口所有实现类。
  • java 抽象类实现接口

    万次阅读 2019-09-20 15:59:33
     当我们只想实现接口中的其中某几个方法(不是所有方法)时,我们可以先写一个抽象类来实现接口,并实现除了我们想要实现的方法之外的所有方法(方法体为空)。接着再用普通类继承这个抽象类,这时这个普通类中就...
  • java多线程实现方法主要有3种:继承Thread类、实现Runnable接口和使用ExecutorService、callable、future实现有返回结果的多线程。其中前2方式线程执行完后都没有返回值,只有最后一种有返回值。继承Thread类启动...
  • java 对象实现序列化 Serializable()接口

    万次阅读 2018-10-02 10:56:23
    当一实现了Seializable接口(该接口仅为标记接口,不包含任何方法定义),表示该类可以序列化,序列化的目的是将一个实现了Serializable接口的对象可以转换成一字节序列,保存对象的状态。 把该字节序列保存...
  • java找到指定接口实现

    千次阅读 2020-02-10 13:30:20
    一、背景 想在自己开发的项目上加一算法工具类用来...因此开始在学习如何实现,在学习过程中发现需要写一方法用来找到指定接口实现类,因此开启了这趟学习之旅。 二、寻求答案的路途 刚开始看到根据指定接...
  • java允许一个类实现个接口

    千次阅读 2010-06-27 01:29:00
    Java 允许一个类实现个接口,从而达到多重继承。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 696,396
精华内容 278,558
关键字:

java可以实现几个接口

java 订阅