zoukankan      html  css  js  c++  java
  • 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,在调用重写的抽象方法时,是调用实现类的方法

  • 相关阅读:
    vim官方教程
    vim命令
    vim设置——/home/.vimrc设置
    Django中静态及媒体文件的引用设置
    博客园特效,拖动鼠标吸附线条
    机器学习工具Octave安装(Win10环境)
    【原】Coursera—Andrew Ng斯坦福机器学习(0)——课程地址和软件下载
    Anaconda 安装教程(Win10环境) Tensorflow安装
    博客园 设置各级标题样式
    Android WebView 捕捉点击的URL中的信息
  • 原文地址:https://www.cnblogs.com/Timenow/p/6848468.html
Copyright © 2011-2022 走看看