接口和多态

什么是接口:当一个抽象类,如果抽象类中的所有方法都是抽象的,那么我们就可以把它定义成接口。接口里面写的,全是抽象的方法,并且在接口里面不能被实例化,只能被别的类继承其接口重写。而且被其他类继承了这个接口之后,类中必须得重写接口中的所有方法!!!接口是对行为的抽象类是对属性和行为的抽象。接口表示一个完全抽象类,其成员变量为常量,应该定义为public final static.如果成员变量前没有添加修饰符,系统会默认修饰符为public final static.所有的方法为public abstract抽象方法

语法
interface 接口名 {
方法的定义。
}

public interface Chouyan {
     float PI=3.14f;   ( public final static是默认的,这只局限于接口类中)
	 public abstract void Chou();
     public void sleep();
}

在接口中,每一个方法的定义都是抽象的,可以省略abstract。
接口不可以直接被实例化。需要有类来实现接口,实现接口的语法为:

public class 类名 implements 接口名 ,接口名,…{

 //实现每一个接口的方法

}

public  class Erzi extends Person implements Chouyan{

	@Override
	public void Chou() {
		System.out.println("张浩在抽烟!");
		
	}
	
	@Override
	public void sleep() {
		System.out.println("张浩在睡觉!");
	}

Erzi 继承了Person类 然后实现了Chouyan接口
实现了Chouyan接口之后,必须得重写Chouyan接口里面所有的抽象方法。!!!(记住是所有,接口里面有多少个方法就重写多少个!)

在接口中可以定义属性,可以通过接口中的实现类的实例来访问,还可以通过接口名来访问,接口中的属性不能修改,我们接口中的属性默认都是final static 的,通常在接口中定义属性把它作为常量,常量的名字规范是单词大写。

接口和抽象类的区别:
1:接口里面的所有方法都是抽象的,抽象类里面的方法可以是抽象的也可以不抽象。
2:接口和抽象类都不能被实例化,接口需要类来实现后实例化实现类。抽象类需要类来继承然后实现子类。
3:抽象类只能单继承(包括普通类也是只能单继承),接口也可以单继承接口,接口可以多实现。
4:接口中的变量属性是final static类型的,抽象类中的属性跟普通类中的属性没用区别
5:接口中的方法默认是抽象的不需要加abstract, 抽象类中的抽象方法需要添加abstract关键字。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值