zoukankan      html  css  js  c++  java
  • Java继承和接口

    接口最关键的作用,也是使用接口最重要的一个原因:能上溯造型至多个基础类。使用接口的第二个原因与使用抽象基础类的原因是一样的:防止客户程序员制作这个类的一个对象,以及规定它仅仅是一个接口。这样便带来了一个问题:到底应该使用一个接口还是一个抽象类呢?若使用接口,我们可以同时获得抽象类以及接口的好处。所以假如想创建的基础类没有任何方法定义或者成员变量,那么无论如何都愿意使用接口,而不要选择抽象类。事实上,如果事先知道某种东西会成为基础类,那么第一个选择就是把它变成一个接口。只有在必须使用方法定义或者成员变量的时候,才应考虑采用抽象类。

    /**
     * Created by xfyou on 2016/11/3.
     * Java 继承和接口演示
     */
    public class Adventure {
        static void t(CanFight x) {
            x.fight();
        }
    
        static void u(CanSwim x) {
            x.swim();
        }
    
        static void v(CanFly x) {
            x.fly();
        }
    
        static void w(ActionCharacter x) {
            x.fight();
        }
    
        public static void main(String[] args) {
            Hero i = new Hero();
            t(i);
            u(i);
            v(i);
            w(i);
        }
    }
    
    interface CanFight {
        void fight();
    }
    
    interface CanSwim {
        void swim();
    }
    
    interface CanFly {
        void fly();
    }
    
    class ActionCharacter {
        // 父类中实现了子类中继承的接口方法
        public void fight() {
        }
    }
    
    /**
     * 必须先 extends 然后再 impplements
     */
    class Hero extends ActionCharacter implements CanFight, CanSwim, CanFly {
        @Override
        public void fly() {
    
        }
    
        @Override
        public void swim() {
    
        }
    }
  • 相关阅读:
    K-Means++ 聚类之数据可视化:使用gnuplot
    QQ设计第1-5步
    QQ设计第1-5步
    为什么有很深的windows基础还是不能动摇linux半步
    常用命令
    在线会计_金蝶友商网
    XP使用VNC远程桌面CentOS 6
    Fatal error: Call to undefined function mb_substr()
    如何汉化 po 文件及编译成 mo 文件
    idoerp
  • 原文地址:https://www.cnblogs.com/frankyou/p/6026540.html
Copyright © 2011-2022 走看看