接口

接口的用途是用来定义现实世界不同类型事物的共同特征

如:

  • 飞行特征
  • 鸟和飞机
  • 他们的共同特征可被定义在接口中

接口包含:属性,抽象方法

  • 有时必须从几个类中派生出一个子类,继承他们所有的属性和方法。但是java不支持多重继承,有了接口可以得到多重继承的效果

  • 一个类可以实现多个接口:

  • 接口不能被实例化
  • 具体类(子类)可以实现(implements)接口(父类),并实现接口中的抽象方法
  • 具体类适用父接口的多态
  • 接口也可以继承其他接口
    package com.xatu.接口;
    
    public interface Flyer {
    
    	public void takeoff();
    	
    	public void fly();
    	
    	public void land();
    	
    	
    }
    
    package com.xatu.接口;
    
    public  class Bird implements Flyer{
    
    	private String type; 
    
    	public Bird(String type) {
    		this.type = type;
    	}
    
    	@Override
    	public void takeoff() {
    		System.out.println("扑闪扑闪");
    		
    	}
    
    	@Override
    	public void fly() {
    		System.out.println("嘎嘎嘎");
    	}
    
    	@Override
    	public void land() {
    		System.out.println("双脚着地");
    		
    	}
    
    	public String getType() {
    		return type;
    	}
    
    	public void setType(String type) {
    		this.type = type;
    	}
    
    }
    
    package com.xatu.接口;
    
    public class flyTest {
    
    	public static void main(String[] args) {
    		
    	Bird bird = new Bird("家雀");
    	bird.takeoff();
    	Flyer f = new Bird("夜莺");
    	f.fly();
    	f.land();
    	}
    
    }
    

    usb类

    package com.xatu.接口;
    
    public interface USB {
    	public void  connect();
    	
    	public void work();
    	
    	public void  disconnect();
    	
    }
    
    class Udisk implements USB{
    	
    	private int size;
    
    	public Udisk(int size) {
    	
    		this.size = size;
    	}
    
    	@Override
    	public void connect() {
    		System.out.println("jiance");
    		
    	}
    
    	@Override
    	public void work() {
    		System.out.println("xianshimulu");
    		
    	}
    
    	@Override
    	public void disconnect() {
    		System.out.println("bachu");
    		
    	}
    
    	public int getSize() {
    		return size;
    	}
    
    	public void setSize(int size) {
    		this.size = size;
    	}
    }
    
    class Video implements USB{
    	
    	private int pix;
    
    	
    
    	@Override
    	public void connect() {
    		System.out.println("jiancelianjie luxiang");
    		
    	}
    
    	@Override
    	public void work() {
    		System.out.println("luzhi");
    		
    	}
    
    	@Override
    	public void disconnect() {
    		System.out.println("bachu");
    		
    	}
    
    	public int getPix() {
    		return pix;
    	}
    
    	public void setPix(int pix) {
    		this.pix = pix;
    	}
    
    	public Video(int pix) {
    		this.pix = pix;
    	}
    }
    
    
    class Test{
    	public static void main(String[] args) {
    		
    		USB a = new Udisk(32);
    		Udisk b = new Udisk(50);
    		a.connect();
    		b.disconnect();
    		USB v = new Video(500);
    		
    	}
    }

    实现接口中的类中必须提供接口中具体方法的实现内容,方可实例化,否则仍为抽象类

  • 接口的主要用途就是被实现类实现(面向接口编程)

 

总结:通过接口可以实现不相关类的相同行为,而不需要考虑这些类之间的层次关系

通过接口可以指明多个类需要实现的方法,一般用于定义对象的扩张功能

接口主要用来定义规范,解耦。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值