• java 笔记(5)接口,static


    interface USB{
        void start();
        void stop();
    }
    
    class C{
        public static void work(USB u){
            u.start();
            System.out.println("工作中");
            u.stop();
        }
    }
    
    class USBDisk implements USB{
    
        @Override
        public void start() {
            System.out.println("U盘开始工作");
        }
    
        @Override
        public void stop() {
            System.out.println("U盘停止工作");
        }
        
    }
    
    class Printer implements USB{
    
        @Override
        public void start() {
            System.out.println("打印机开始工作");
        }
    
        @Override
        public void stop() {
            System.out.println("打印机停止工作");
        }
        
    }
    
    public class AbsDemo01 {
    
        public static void main(String[] args) {
            C.work(new USBDisk());
         C.work(new Printer());
        }    
    }

    结果:

    U盘开始工作
    工作中
    U盘停止工作
    打印机开始工作
    工作中
    打印机停止工作

    分析:

    1、在接口中,有两个抽象的方法,void start()和void stop()。其实在这两个抽象方法中,前面public abstract被省略了。

    2、在类 C中,创建了一个work类方法。而在main()方法中,又用到了C.word(new USBDisk())和C.word(new Printer())。在这里直接用类名.方法名进行调用方法,用到了static关键字的知识。使用static修饰的类叫做类方法,类方法可以由类名直接调用,也可由实例对象进行调用。(建议用类名直接调用,因为可以直接省略了用new实例化的步骤,更简洁,更方便)

         (1)使用static声明的属性,被称为全局属性

         (2)使用static声明的方法,可以直接通过类名调用

         (3)使用static方法的时候,只能访问static声明的属性和方法,而非static声明的属性和方法是不能访问的。

    3、在main()方法中,C.work(new USBDisk)进行传送参数时, 用到了父类声明和子类实例化的知识。我们可以这样来理解:USB u = new USBDisk声明部分为接口,赋值部分为实现类的这个对象u,在调用重写的抽象方法时,是调用实现类的方法

  • 相关阅读:
    [原]Jenkins(七)---jenkins项目编译测试发布由maven构建的web项目
    [原]jenkins(六)---jenkins远程部署脚本
    [原]jenkins(五)---jenkins添加项目
    [原]Jenkins(四)---Jenkins添加密钥对
    [原]Jenkins(三)---Jenkins初始配置和插件配置
    [原]Jenkins(二)---jenkins之Git+maven+jdk+tomcat
    mysql给root开启远程访问权限
    [原]git的使用(六)---远程仓库
    [原]git的使用(五)---删除文件
    [原]git的使用(四)---撤销修改
  • 原文地址:https://www.cnblogs.com/Timenow/p/6848468.html
Copyright © 2020-2023  润新知