Java-接口

接口
接口是一种特殊的抽象类。
格式:interface 接口名{ }
接口中的成员修饰符是的固定的。
成员变量:public static final
成员函数:public abstract
接口的出现将“多继承”通过另一种形式体现出来,即“多实现”。

/*
	接口:
		成员变量:都是被public static final修饰
		成员函数:都是被public abstract修饰
	
*/
interface A{
	public static final String name="aa";
	public abstract void eat();
}
interfa B{
	
}
//类与接口之间是实现关系,通过关键字implements联系
//子类实现了接口,必须对接口中所有的方法进行重写
//接口不能被实例化,也就是无法被new
class C implements A{
	public void eat();
}
//子类可以继承一个类的同时,还可以实现多个接口
//接口的出现避免了单继承的局限性
class D extends C implements A,B{
	
}
/*	
	类与类之间是单继承
	接口与接口之间可以多继承

*/
interface C extends A,B{
	
}

class Demo{
	
}

抽象类和接口的关联
相同点:都是将共性的东西从上面抽取而来的
不同点:
–抽象类需要被继承,接口需要被实现
–抽象类只能单继承,而接口可以多实现
–抽象类中可以有抽象方法,接口中只能是抽象方法
–抽象类的继承,是该体系中基本共性的东西,接口是该体系中额外的功能。

class Demo{
	public static void main(String[] args){
		BasketBallPlayer b=new BasketBallPlayer();
		b.learn();//打印结果:学英语
	}
}
class Person{
	String name;
	int age;
	void eat(){
		System.out.println("人会吃饭");
	}
	void sleep(){
		System.out.println("人会睡觉");
	} 
}
abstract class Player extends Person{
	 abstract void study();
}
abstract class Coach extends Person{
	abstract void teach();
}
//定义一个接口 提供learn方法
interface A{
	void learn();
}
class BasketBallPlayer extends Player implements A{
	public void study(){
		System.out.println("学习扣篮");
	}
	public void learn(){
		System.out.println("学英语");
	}
}

class BasketBallCoach extends Coach implements A{
	public void teach(){
		System.out.println("教扣篮");
	}
	public void learn(){
		System.out.println("学英语");
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值