final关键字及接口

Final关键字:

1:final 的变量的值不能够被改变。
	final 的成员变量
	final 的局部变量(形参)
2:final 的方法不能够被重写。
3:final 的类不能够被继承。

public	class	TestFinal{
	public	static	void	main(String[] args){
		T t = new T();
		t.i = 9;
	}
}

class	T {
	final int i = 8; 
}
//执行出错(无法为变量i指定值),因为 i是由final修饰的成员变量。

接口(interface):

1: 接口(interface)是抽象方法和常量值的定义的集合。
2: 从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。
3: 接口定义举例:

	public interface Runner {
		public	static	final int id = 1;
		
		public	void  start();
		public  void  run();
		public  void  stop();
	}

4:实现接口使用关键字 implements
4: 多个无关的类可以实现同一个接口。
5: 一个类可以实现多个无关的接口。
6: 与继承关系类似,接口与实现类之间存在多态性。
7: 定义Java类的语法格式:

接口特性:
1: 接口可以多重实现。
2: 接口中声明的属性默认为 public static final 的;也只能是 public static final 的
3: 接口中可以定义抽象方法,而且这些方法默认为 public 的,也只能是 public 的;也只能是
4: 接口可以继承其它的接口, 并添加新的属性和抽象方法。

举例:

interface	Singer {
	public	void	  sing();
	public	void	sleep();
}
class	Student	implements	Singer {		//implements,实现接口的关键字。
	prinvate	String	name;
	
	student	(String	name) {
		this.name = name;
	}
public	void	study() {
	System.out.println("studying");
}
public	String	getName() { return name;}
public	void	sing() {
	System.out.println("student	is	singing");
}
public	void	sleep () {
		System.out.println("student	is	sleeping");
	}	
}

接口与抽象类的几点区别:

1:抽象类体现的是一种继承关系,接口则不然。
2:对于抽象类来说,要先知道子类才可以抽象出父类。
而接口只需定义一个规则即可。
即:抽象类是自上而下的,而接口是自下而上的。

你可能感兴趣的:(final关键字及接口)