创建接口匿名实现类的对象的四种方法

package InterfactTest;

public class InterfaceTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Computer com  = new Computer(); 
        
        com.transferData(new Print()); //创建了非匿名实现类的匿名对象
        
        Flash flash = new Flash(); //创建了非匿名实现类的非匿名对象
        com.transferData(flash);
        
        com.transferData(new USB() {

            @Override
            public void start() {
                System.out.println("手机开始工作");
                
            }

            @Override
            public void end() {
                // TODO Auto-generated method stub
                System.out.println("手机结束工作");
            }
            
        }); //创建了匿名实现类的匿名对象
        
        
        //创建了匿名实现类的非匿名对象
        USB dataLine = new USB(){

            @Override
            public void start() {
                System.out.println("数据线开始工作");
                
            }

            @Override
            public void end() {
                // TODO Auto-generated method stub
                System.out.println("数据线停止工作");
            }
            
        };
        com.transferData(dataLine);
        
        
        
        
    }

}

class Computer {
    
    public void transferData(USB usb) {
        usb.start();
        System.out.println("开始传输数据");
        usb.end();
    }
    
}

interface USB{
    
    public abstract void start();
    
    public abstract void end();
    
}


class Flash implements USB{

    @Override
    public void start() {
        System.out.println("U盘开始工作");
        
    }

    @Override
    public void end() {
        // TODO Auto-generated method stub
        System.out.println("U盘结束工作");
        
    }
}

class Print implements USB{

    @Override
    public void start() {
        // TODO Auto-generated method stub
        System.out.println("打印机开始工作");
    }

    @Override
    public void end() {
        // TODO Auto-generated method stub
        System.out.println("打印机结束工作");
    }
    
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/418212.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Thinkphp 数据库配置参数

mysql配置 DB_USER > array(DB_TYPE > mysql,DB_HOST > 127.0.0.1,DB_NAME > blog,DB_USER > root,DB_PWD > ,DB_PORT > 3306,DB_PREFIX > ,DB_CHARSET> utf8, // 字符集), Oracle配置(模式) DB_DATA > array(DB_TYPE >…

代理模式简单模板

package ProxyTest;//接口的应用:代理模式public class NetWorkTest {public static void main(String[] args) {Server se new Server();new ProxyServer(se).browse();} }interface NetWork{void browse(); }//被代理类 class Server implements NetWork{Overridepublic voi…

写出gradle风格的groovy代码

写出gradle风格的groovy代码 我们先来看一段gradle中的代码: buildscript {repositories {jcenter()}dependencies {classpath com.android.tools.build:gradle:2.1.2} }allprojects {repositories {jcenter()} }task clean(type: Delete) {delete rootProject.buil…

这个社会根本不存在值得我们去仰视的人和事

想改变世界,从整理床铺开始。如果你每天早上整理床铺,你就完成了一天中的第一个任务,这会给你小小的自豪感,并激励你去完成另一个任务,一个接一个的任务。一天下来,每个已经完成的小任务会积累成很多大任务…

ipv6问题

1)百度搜索:针对苹果最新审核要求为应用兼容IPv6 2) ipV6测试网址:http://test-ipv6.com/ http://ipv6.jmu.edu.cn/ http://ipv6test.google.com/   你可以在浏览器输入这些地址,测试你是否已经使用了ipv6地址。 3&a…

JAVA8后接口的新特性

知识点一: 知识点二: 知识点三: 知识点四: 知识点五:

抽象类和接口的共同点和区别

抽象类和接口个共同点和区别: 共同点: 不能实例化,都可以被继承 不同点: 抽象类有构造器,单继承性 接口没有构造器,多继承性

mybatis里oracle与MySQL的insert_update

需求&#xff1a;gisdata表中插入数据&#xff0c;如果wxid数据存在就更新&#xff0c;不存在就插入 Mysql的mybatis配置 1 <?xml version"1.0" encoding"UTF-8"?>2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 3…

input的type属性的修改

记录一下成长的历程吧&#xff01; 刚开始写&#xff0c;没什么文笔&#xff0c;也没什么技术含量&#xff0c;可能主要的是纪录一下平常工作学习中遇到的问题&#xff0c;以及解决的办法吧。或者只有问题&#xff0c;没有解决办法。 前两天项目中遇到的一个问题&#xff0c;由…

程序 进程 线程

并行&#xff1a;再球场上&#xff0c;每个人都有篮球&#xff0c;都自己玩自己的 并发&#xff1a;只有一个球&#xff0c;一堆人玩 球&#xff08;CPU&#xff09; 人&#xff08;线程&#xff09; t1这个线程对象&#xff0c;是再主线程造的&#xff0c;以及执行t1.start…

ActiveMQ入门实例

1.下载ActiveMQ 去官方网站下载&#xff1a;http://activemq.apache.org/ 2.运行ActiveMQ 解压缩apache-activemq-5.5.1-bin.zip&#xff0c;然后双击apache-activemq-5.5.1\bin\activemq.bat运行ActiveMQ程序。 启动ActiveMQ以后&#xff0c;登陆&#xff1a;http://localhost…