JAVA_接口

JAVA_接口

理解:抽象类中可以定义抽象方法也可以定义非抽象方法,如果抽象类中的方法全是抽象方法,那么可以把它表现成另外一个形式“接口

关键字:interface*(区别于class ,class用于定义类,interface定义接口)*

接口定义的格式特点:
1.接口中常见定义:常量、抽象方法
2.接口中的成员都有固定修饰符
常量:public static final
方法:public abstract
3.接口中的成员都是public
4.定义接口修饰符public、static、final、abstract可以省略,因为有关键字interface系统会自动补齐,但为了使代码可读性强一点最好都写全

interface Inter{
	public static final int NUM = 3;
	public abstract void show(); 
	}

接口的特点:
1.类可以继承类,因为父类中有非抽象方法可以直接拿来用
而接口中的方法全是抽象方法,不能直接用,所以子类需要实现这个接口,才能使用接口中的抽象方法
2.接口不可以创建对象,因为有抽象方法,需要被子类实例化,子类对接口中的抽象方法全部覆盖后,子类才可以实例化,否则子类是一个抽象类

class Test implements Inter	  //子类实现接口
{
	public void show(){}     //覆盖接口的抽象方法
}
class InterfaceDemo
{
	public static void main(String[] args)
	{
		Test t = new Test();
		System.out.println(t.NUM);
		System.out.println(Test.NUM);
		System.out.println(Inter.NUM);
	}  											/*不能对NUM进行赋值,因为是常量*/
}

3.接口可以被多实现,这也是java对多继承不支持的转换形式

** 基于以上代码再增加一个接口**
interface InterA
{
	public abstract void method();
}

	     
**多实现的写法**
class Test implements Inter,InterA  
{
	public void show(){}
	public void method(){}			//覆盖抽象方法
}

一个类既可以继承也可以实现
例:

class Demo
{
	public void function(){}
}
class Test extends Demo implements Inter,InterA   /*Test类既继承Demo又实现Inter,InterA接口*/
{
	public void show(){}
	public void method(){}			//覆盖抽象方法
}

4.接口与接口的关系是继承,并且接口与接口之间可以多继承
例:

interface A
{
	void methodA();
}
interface B	extends A
{
	void methodB();
}
interface C	extends B
{
	void methodC();
}

Class Demo implements C
{
	public void methodA(){};		/*Demo类需要覆盖三个抽象方法*/
	public void methodB(){};
	public void methodC(){};
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值