final关键字:
final 用于修饰类,方法,参数,和属性(常量)。
类:不能被定义为抽象类或是接口,不可被继承
方法:子类里不可以重写
参数:参数值在方法中不可被修改
属性:定义时就必须直接赋值或者在构造方法中进行赋值,并且后期都不能修改
接口(interface):
定义:
使用 interface 关键字用来声明一个接口。
使用:
类使用implements关键字实现接口。在类声明中,Implements 关键字放在class声明后面。
[访问修饰符] class 类名 implements 接口名1,接口名2……{ }
结合继承:
[访问修饰符] class 类名 extends 父类名 implements 接口名1,接口名2……{ }
从本质上讲,接口是一种特殊的抽象类,这种抽象类中包含抽象方法。
package Dome4.Jk;
/*
interface 关键字修饰 接口
接口中可以修饰的聂荣:
jdk8以后接口中可以定义:常量,抽象方法,静态方法,默认方法
jdk8以前只能定义常量和抽象方法
*/
public interface MyInterface {
int num = 10;
void eat();
//静态方法 可以直接通过接口名调用
public static void test(){
}
//默认方法,被子类继承后调用
default void test1(){
}
}
package Dome4.Jk;
/*
类 通过implements关键字实现接口;
类实现接口后:要么重写接口中的所有抽象方法
要么将该类声明为抽象类
一个类可以实现多个接口(用implements连接)(用逗号隔开)
接口也可以继承(多个)接口(用extends)(用逗号隔开)
*/
public class MyClass implements MyInterface{
@Override
public void eat(){
}
}
特性:
接口是隐式抽象的,主要用来定义功能。
接口中可以定义静态常量,抽象方法,静态方法,默认方法。
一个接口能继承其它多个接口. l 接口不能实例化对象。
接口是要被类实现,一个接口可以被多个实现。
当类实现接口的时候,类要实现接口中所有的抽象方法,否则,该类必须 声明为抽象的类。
接口与实现类之间存在多态。
接口和类的区别:
接口相当于可以定义功能。
类可以定义成员属性。