zoukankan      html  css  js  c++  java
  • 接口(interface)

    Final:

      final的变量的值不能够被改变

        final的成员变量,final的局部变量(形参)

      final的方法不能被重写

      final的类不能被继承

    接口:

      1.接口(interface)是抽象方法和常量值的定义的集合

      2.从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,

         而没有变量和方法的实现

      3.接口定义举例:

    public interface Runner{
              public static final int id = 1;
            
             public  void start();
             public  void run();
             public  void stop();
    }
    

     接口特性:

      1.多个无关的类可以实现同一个接口

      2.一个类可以实现多个无关的接口

      3.与继承关系类似,接口与实现类之间存在多态性。

      4.接口中声明属性默认为public static final的,也只能是public static final的

      5.接口可以继承其它的接口,并添加新的属性和抽象方法

      6.举例

    interface Singer {
        public void sing();
        public void sleep();
    }
    
    interface Painter {
        public void paint();
        public void eat();
    }
    
    class Student implements Singer {
        private String name;
        
        Student(String name) {
            this.name = name;
        }
        
        public void study() {
            System.out.println("studying");
        }
        
        public String getName() {
            return name;
        }
        
        public void sing() {
            System.out.println("student is singing");
        }
        
        public void sleep() {
            System.out.println("student is sleeping");
        }
    }
    
    class Teacher implements Singer,Painter {
        private String name;
        
        public String gerString() {
            return name;
        }
        
        Teacher(String name) {
            this.name = name;
        }
        
        public void teach() {
            System.out.println("teaching");
        }
        
        public void sing() {
            System.out.println("teacher is singing");
        }
        
        public void sleep() {
            System.out.println("teacher is sleeping");
        }
        
        public void paint() {
            System.out.println("teacher is painting");
        }
        
        public void eat() {
            System.out.println("teacher is eating");
        }
        
    }
    
    public class testInterface {
        public static void main(String[] args) {
            Singer s1 = new Student("le");
            s1.sing();
            s1.sleep();
            
            Singer s2 = new Teacher("steven");
            s2.sing();
            s2.sleep();
            
            Painter p1 = (Painter)s2;
            p1.paint();
            p1.eat();
        }
    }
    
    
    /*
    运行结果:
    student is singing
    student is sleeping
    teacher is singing
    teacher is sleeping
    teacher is painting
    teacher is eating
    */
  • 相关阅读:
    redolog switch会发生完全检查点还是增量检查点?
    4G牌照发放生变 专家谏言电信联通如何选择
    [财富]iPhone如何征服日本?
    审计中移动现多处问题或致地方高层落马
    诺基亚CEO:Lumia不会像安卓推廉价版机型
    菜鸟学JDBC(二)
    简易网页采集器的实现
    手Q与微信:最终结局将会是手足相残!
    做网站Http状态码详解
    PHP $_SERVER['HTTP_REFERER'] 获取前一页面的 URL 地址
  • 原文地址:https://www.cnblogs.com/wblyuyang/p/2455616.html
Copyright © 2011-2022 走看看