zoukankan      html  css  js  c++  java
  • 接口中的方法和变量

    1.接口的定义格式:

              Interface 接口名称{}

    2.接口中的变量一定是常量:

              public static final 变量名=变量值;       

    3.接口中的方法没有方法体,且方法的修饰符public abstract可以省略:

              [public abstract] 返回值类型 方法名称(参数列表);

    4.当接口中需要增加方法,而不想影响到其他实现该接口的类时,可以使用默认方法,默认方法也可以被重写:

              public default 返回值类型 方法名(参数列表){ ...}

    5.私有方法只能在接口内部被访问,具有安全性,同时可以减少代码冗余:

              private 返回值类型 方法名(参数列表){ ...}

    注意:接口中的方法不一定都是抽象方法,在JDK8,JDK9中,接口可以有默认方法,私有方法。

    代码演示:

    interface Animal {
        //常量年龄为2岁
        public static final int age=2;
        //抽象方法eat()
        public abstract void eat();
        //默认方法run()
        public default void run(){
            System.out.println("动物在跑");
        }
        //静态方法sleep()
        public static void sleep(){
            System.out.println("动物在睡觉");
        }
        //私有方法play()
        private static void play(){
            System.out.println("开始游戏");
            System.out.println("暂停游戏");
            System.out.println("继续游戏");
            System.out.println("结束游戏");
        }
        //默认方法happy()
        public default void happy(){
            //调用了私有方法play(),可以减少代码冗余,同时不让接口以外访问到,具有安全性
            play();
            System.out.println("玩得很开心");
        }
    }
    public class Cat implements Animal{
        //重写eat()抽象方法
        @Override
        public void eat() {
            System.out.println("猫在吃");
        }
        //重写默认方法run()
        @Override
        public void run() {
            System.out.println("猫在跑");
        }
    }
    public class Demo6{
        public static void main(String[] args) {
            Cat cat=new Cat();
            System.out.println("猫的年龄是"+cat.age);
            cat.eat();
            cat.run();
            cat.happy();
            Animal.sleep();
        }
    }

    运行结果:

  • 相关阅读:
    jmeter的基本使用过程
    selenide UI自动化进阶二 pageObject实现页面管理
    Page Object 设计模式介绍
    自动化测试元素查找利器firepath介绍
    selenide 自动化UI测试中Configuration全局配置项目
    selenide 自动化测试进阶一: 查找元素和相关操作
    Selenide 简单实现自动化测试
    python操作MySQL数据库
    一次验证手机号固话号 正则表达式
    算法入门刷题笔记 算法竞赛入门经典++第六章例题 6-6--6-9,6-12,6-14,6-15 树与二叉树
  • 原文地址:https://www.cnblogs.com/iceywu/p/12017497.html
Copyright © 2011-2022 走看看