6.2 实现接口

6.2 实现接口


6.2.1 实现接口

Java语言中,接口由类来实现以便使用接口中的方法

//1.类实现接口
class A implement 接口1,接口2,接口3{
···}
//2.类的子类实现接口
class B extends class A implement 接口1,接口2,接口3{
···}

6.2.2重写接口中的方法

(1)一个非抽象类实现了某个接口,这个类必须重写这个接口中的所有方法

(2)非抽象类在重写接口方法的时候需要去掉abstract修饰符,给出方法体,方法访问权限一定要明显的用public修饰

(3)用户也可以自定义接口,一个Java源文件可以由类和接口组成

//例子:
public interface Example6_1_Computable {
	int MAX = 50;

	int f(int x);
}


public class Example6_1_China implements Example6_1_Computable {
	int numner;

	@Override
	public int f(int x) {
		// TODO Auto-generated method stub
		int sum = 0;
		for (int i = 1; i < x; i++) {   //重写接口的方法
			sum = sum + i;

		}
		return sum;
	}

}

public class Example6_1_Japan implements Example6_1_Computable {
	int number;

	@Override
	public int f(int x) {

		return MAX + x; //直接使用接口的常量
	}

}


public class Example6_1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
Example6_1_China china;
Example6_1_Japan japan;
china =new Example6_1_China();
japan=new Example6_1_Japan();
china.numner=20+Example6_1_Computable.MAX;
japan.number=10+Example6_1_Computable.MAX;
System.out.println("China的学号:"+china.numner+",求和结果:"+china.f(5));
System.out.println("Japan的学号:"+japan.number+",求和结果:"+japan.f(1));
	}

}

//输出结果:
//China的学号:70,求和结果:10
//Japan的学号:60,求和结果:51


(4)抽象类实现接口,可以不重写接口的所有方法(即可拥有也可以直接继承)

//例子:
public interface Example6_1_Computable {
	
	final int MAX = 50;

	int f(int x);
	
	void speak(String string);
	float f(float x,float y);
}


public abstract class Example6_1_All implements Example6_1_Computable{
public int f(int x) {
	int sum=0;
	for (int i = 1; i < x; i++) {
		sum=sum+i;
	}
	return sum;
}
}


接口的细节:

(1)程序可以用接口名访问接口中的常量,但是一个类实现了接口,该类可以直接在类体中使用该接口的常量

(2)定义接口时,如果关键字interface前面加了public关键字,就称这样的接口是public接口,可以被任何一个类实现。

(3)如果关键字interface前面不加public关键字,就称这样的接口是友好接口,可以被与该接口在同一个包中的类实现。

(4)若父类实现了某接口,那么子类自然也实现该接口不必显式的使用关键字implement声明这个接口

(5)接口也可以被继承,关键字extends,子接口继承父接口全部方法和变量

注意:Java提供的接口都在相应的包中,通过import语句不仅可以引入包中的类,也可以引入包中接口

import Java.io.*


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值