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:对于抽象类来说,要先知道子类才可以抽象出父类。
而接口只需定义一个规则即可。
即:抽象类是自上而下的,而接口是自下而上的。