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,在调用重写的抽象方法时,是调用实现类的方法

转载于:https://www.cnblogs.com/Timenow/p/6848468.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值