java基础——接口

1、java中,接口是一种标准、规范。

2、格式:[修饰符] interface 接口名{}

3、特点:

① 没有构造方法,不能实例化。

② 接口只能继承接口,不能继承类,且接口支持多继承。

一个接口允许有多个父接口。

    Eg:  interface IWalkable extends 接口1,接口2{}

③ 接口里的全是抽象方法,默认修饰符是public abstract

④ 接口里的字段全是全局静态常量,默认修饰符是public static final

⑤ 接口里的是静态的内部类,默认修饰符是public static

4、接口和抽象类:

1) 相同点:

(a) 都位于继承的顶端,用于被其他实现或继承。

(b) 都不能实例化。

(c) 都可以定义抽象方法,其子类都必须覆写这些抽象方法。  

2) 区别:

(a) 接口没有构造方法,抽象类有构造方法。

(b) 抽象类可包含普通方法和抽象方法,接口只能包含抽象方法;

(c) 一个类只能继承一个直接父类(可能是抽象类),却可以实现多个接口(接口弥补了Java的单继承)

(d) 变量:接口里默认是public static final,抽象类是默认包权限。

(e) 方法:接口里默认是public abstract,抽象类默认是默认包访问权限。

(f) 内部类:接口里默认是public static,抽象类默认是默认包访问权限。

二者的选用:优先选用接口,尽量少用抽象类。若需要定义子类的行为,又要为子类提供共性功能时选用抽象类。

5、实现类的语法

public class 实现类 extends 父类  implements 接口1,接口2

1) 实现类实现接口之后,必须覆盖掉接口中所有的抽象方法,否则,该实现类只能作为抽象类。

2) 实现类和接口之间的关系--->实现关系,是一种特殊的继承关系。

            3) 实现类覆盖接口中的方法,一般的称之为 实现。

6、代码:

class Test3 
{
	public static void main(String[] args) 
	{
		Computer pc = new Computer();
		pc.connectPC();
		System.out.println(pc.WIDTH);
		pc.connectNet();
	}
}
interface USB
{
	public static final int WIDTH = 15;
	public static final int HEIGHT = 5;		//全局静态变量
	public abstract void connectPC();		//抽象方法
}
interface Net
{
	
	int COUNT = 8;			//接口中可以简写: public static final int COUNT = 8;
	void connectNet();		//public abstract void connectNet(); 
}
//implements: 实现接口
class Computer implements USB,Net
{
	public void connectPC(){
		System.out.println("链接成功!!");
	}
	public void connectNet(){
		System.out.println("成功上网!!");
	}
}


7、总结:

1)一个类可以实现多个接口;

2Java中继承只能单继承,实现类可以同时实现多个接口;

3Java中接口支持多继承。

4)在实际开发中,既可以用抽象类又可以用接口的话,就使用接口,因为接口可以多实现,可以解耦(降低耦合度),避免了单继承的局限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值