zoukankan      html  css  js  c++  java
  • Java 基础(接口二)

    • 定义Java类的语法格式: 先写 extends,后写 implements
      class SubClass extends SuperClass implements InterfaceA{}
    • 一个类可以实现多个接口,接口也可以继承其它接口。
    • 实现接口的类中必须提供接口中所有方法的具体实现内容,方可实例化。否则,仍为抽象类。
    • 接口的主要用途就是被实现类实现。((面向接口编程)
    • 与继承关系类似,接口与实现类之间存在多态性
    • 接口和类是并列关系,或者可以理解为一种特殊的类。从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义(JDK7.0及之前),而没有变量和方法的实现。

    USBTest.java

    package com.klvchen.java1;
    
    public class USBTest {
    	public static void main(String[] args) {
    		
    		Computer com = new Computer();
    		//1. 创建了接口的非匿名实现类的非匿名对象
    		Flash flash = new Flash();
    		com.transferData(flash);
    		
    		System.out.println("******************************");
    		
    		//2. 创建了接口的非匿名实现类的匿名对象
    		com.transferData(new Printer());
    		
    		System.out.println("******************************");
    		
    		//3. 创建了接口的匿名实现类的非匿名对象
    		USB phone = new USB() {
    
    			@Override
    			public void start() {
    				System.out.println("手机开始工作");
    			}
    
    			@Override
    			public void stop() {
    				System.out.println("手机结束工作");
    			}
    			
    		};
    		com.transferData(phone);
    		
    		System.out.println("******************************");
    		
    		//4. 创建了接口的匿名实现类的匿名对象
    		
    		com.transferData(new USB() {
    			@Override
    			public void start() {
    				System.out.println("MP3开始工作");
    			}
    
    			@Override
    			public void stop() {
    				System.out.println("MP3结束工作");
    			}
    		});
    	}
    
    }
    
    class Computer{
    	public void transferData(USB usb) {
    		usb.start();
    		
    		System.out.println("具体传输数据的细节");
    		
    		usb.stop();
    	}
    }
    
    interface USB{
    	//常量: 定义了长,宽,高,最大最小的传输速度等
    	void start();
    	
    	void stop();
    }
    
    class Flash 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("打印机结束工作");
    		
    	}
    	
    }
    

  • 相关阅读:
    工业以太网的现状与发展
    软件开发的7大原则
    white-space
    vue使用better-scroll做轮播图(1.X版本 比较简单)
    windows 查看端口占用
    使用通知notication pendingIntent 传递参数
    fragment 创建optionsmenu
    android viewmodel 带参数
    LifecycleObserver 生命周期检测
    过河问题
  • 原文地址:https://www.cnblogs.com/klvchen/p/14529970.html
Copyright © 2011-2022 走看看