java接口的基本概念

转载:https://blog.youkuaiyun.com/liuchonghua/article/details/80013079

接口的概念

    在Java中接口是一个全部由抽象方法组成的集合,接口需要用interface定义,里面只能有抽象的方法和常量。接口体现的是事物扩展的功能,在Java中,类定义了一个实体,包括实体的属性,实体的行为。而接口定义了一个实体可能发生的动作,只有一个声明,没有具体的行为。

    当一个方法在很多类中有不同的体现时就可以将这个方法抽象出来做成一个接口。

    接口里面只能有不可修改的全局常量,只能有抽象的方法,接口没有构造方法。

定义一个接口:

interface Inter {
	public static final int i=10;	//全局常量前缀public static final
	public abstract void eat();	//抽象的方法
}


接口的特点

1、定义接口时使用interface定义,区别于抽象类,不需要加class。
2、接口不能被实例化,不能直接创建对象,因为接口里面只有抽象的方法,没有具体的功能。
3、接口可以继承接口,接口要实现具体的功能必须有实现他的子类,实现接口的子类中必须重写接口全部的抽象方法。
4、接口和接口之间可以多继承。
5、接口的子类可以是抽象类,但是没有实际的意义。
6、一个子类可以实现多个接口,通过implements关键字去实现。
7、接口需要通过多态才能创建对象。
如下:

interface A {
	public static final int i = 10;		//接口只能定义全局常量需要加public static final如果不加系统默认给出,推荐加。
                                                
	public abstract void eat();
}
 
interface B extends A { 		// 接口可以继承接口
	public abstract void sleep();
}
 
interface C {
	public abstract void look();
}
 
abstract class D {        //定义一个抽象类
	public void run() {
		System.out.println("跑起来");
	}
 
	public abstract void learn();
}
 
public class Text extends D implements B, C {		//一个子类可以继承一个抽象类同时实现多个接口
	//子类如果不是抽象类就必须实现所有的抽象方法
	
	public void eat() {		//实现接口A中的抽象方法
		System.out.println("吃东西");
	}
 
	public void look() {		//实现接口C中的抽象方法
		System.out.println("看风景");
	}
 
	public void sleep() {		//实现接口B中的抽象方法
		System.out.println("睡懒觉");
	}
 
	@Override
	public void learn() {	//重写抽象类D中的抽象方法
		System.out.println("学Java");
	}
 
	public static void main(String[] args) {
		B b=new Text();		//多态,接口的引用指向子类的对象
		b.eat();
		b.sleep();
		System.out.println(B.i);    //静态常量通过接口名去访问,不推荐用对象去调用
                C c=new Text();
		c.look();
		D d=new Text();	
		d.learn();
		
	}
}
/**
 * 输出为:
吃东西
睡懒觉
10
看风景
学Java
 */

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值