java 2实用教程 第六章 接口与实现 复习

interface关键字、implements关键字

interface定义接口,implements关键字声明该类实现一个或多个接口
接口:接口声明+接口体
接口体中只有抽象方法,所有的常量和抽象方法访问权限一定是public, 而且常量是static常量
1.在接口中 不可以有构造方法,
2.接口也可以被继承,由于接口中的方法和常量都是public的,子接口将继承父接口的全部方法和常量
注:接口可以多继承

实现接口

重写接口的所有方法
如果一个非抽象类实现了某个接口,那么这个类必须重写这个接口中的所有方法
注:接口中的方法一定是public abstract方法,所以类在重写接口时不仅要去掉abstract修饰符,给出方法体,而且访问权限一定要用public修饰(否则降低了访问权限)
如果一个类声明实现一个接口,但没有重写该类的所有方法,则这个类一定是抽象类

接口回调

可以把实现某一接口的类创建的的对象引用赋值给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口方法

//接口
interface SpeakHello {
	void speakHello();
}

//实现了SpeakHello接口的类
class Chinese implements SpeakHello{
	public void speakHello() {
		System.out.printin "中国人习惯问候语:你好, 吃饭了吗? ");
	}
}
//实现了SpeakHello接口的类
class English implements SpeakHe1lo {
	public void speakHello() {
		System.out.printin("英国人习惯问候语:你好,天气不错");
	}
}

class KindHello {
	public void lookHello(speakHello hello)(//接口类型参数
			hello.speakHelllo(;//接口回调
	}
}
public class Example6_5{
	public static void main(String args[]) {
		kindHello kindHello = new KindHello();
		kindHello.lookHello(new Chinese());
		kindHello.lookHello(new English());
	}
}

理解

1.接口可以抽象出重要的行为标准
2.可以把实现接口的类的对象的引用赋值给接口变量,该接口变量可以操作被该类实现的接口方法,即体现该类根据接口的行为标准给出具体的行为
接口可以要求某些类有相同的名称的方法,但方法的具体内容不同,不强迫这些类具有相同的父类

abstract类和接口比较

//* 1.抽象类和接口都可以有抽象方法
2.抽象类可以有非抽象方法,接口只有抽象方法没有普通方法
3.接口中只能有常量,不能有变量,抽象类可以有变量
4.接口中不可以有构造方法,抽象类可以有

你可能感兴趣的:(java 2实用教程 第六章 接口与实现 复习)