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() {
    
        }
    }
  • 相关阅读:
    973. K Closest Points to Origin
    919. Complete Binary Tree Inserter
    993. Cousins in Binary Tree
    20. Valid Parentheses
    141. Linked List Cycle
    912. Sort an Array
    各种排序方法总结
    509. Fibonacci Number
    374. Guess Number Higher or Lower
    238. Product of Array Except Self java solutions
  • 原文地址:https://www.cnblogs.com/frankyou/p/6026540.html
Copyright © 2011-2022 走看看