一、final
1、final修饰属性、方法、类【/接口】
2、final修饰的属性表示变量是常量,除了final修饰的局部变量外,其他的都要显式初始化
final修饰的实例变量,可以直接赋值、或者在构造器中赋值、或者在代码块中赋值
final修饰的类变量,可以直接赋值,【或者在构造器中赋值】,或者在静态代码块中赋值
final修饰的属性只能赋值一次
3、final修饰的方法表示此方法不能被重写
4、final修饰的类表示此类不能被继承:String Integer
二、抽象类
1、概念:一个类,如果用关键字abstract修饰,那么这个类就是抽象类
,抽象类可以没有抽象方法,抽象类一般表示这个类的功能没有完全实现
2、抽象方法:一个方法,如果没有方法体,那么此方法必须声明为抽象方法,
访问权限修饰符 abstract 返回值 方法名(形参);
一个类,如果有抽象方法,那么这个类必须声明为抽象类
3、抽象类可以有构造器,但是不能藉由自身实例化,必须通过子类去实例化
如果父类是抽象类,那么子类必须实现父类的抽象方法,如果子类没有实现父类的
抽象方法,子类也必须声明为抽象类
三、接口
1、接口:interface
访问权限修饰符 interface 接口名{}
2、接口只能包含常量和抽象方法
接口中的属性默认都是public、static、final修饰的
接口中的方法默认都是public、abstract修饰的
static和abstract不能同时出现
3、实现接口:
修饰符 类名 implements 接口名1,接口名2,...{
}
接口没有构造器,不能通过自身实例化,必须藉由子类实例化
子类必须实现接口中的所有抽象方法,否则,子类也要声明为抽象类
4、接口可以继承多个接口
1、final修饰属性、方法、类【/接口】
2、final修饰的属性表示变量是常量,除了final修饰的局部变量外,其他的都要显式初始化
final修饰的实例变量,可以直接赋值、或者在构造器中赋值、或者在代码块中赋值
final修饰的类变量,可以直接赋值,【或者在构造器中赋值】,或者在静态代码块中赋值
final修饰的属性只能赋值一次
3、final修饰的方法表示此方法不能被重写
4、final修饰的类表示此类不能被继承:String Integer
二、抽象类
1、概念:一个类,如果用关键字abstract修饰,那么这个类就是抽象类
,抽象类可以没有抽象方法,抽象类一般表示这个类的功能没有完全实现
2、抽象方法:一个方法,如果没有方法体,那么此方法必须声明为抽象方法,
访问权限修饰符 abstract 返回值 方法名(形参);
一个类,如果有抽象方法,那么这个类必须声明为抽象类
3、抽象类可以有构造器,但是不能藉由自身实例化,必须通过子类去实例化
如果父类是抽象类,那么子类必须实现父类的抽象方法,如果子类没有实现父类的
抽象方法,子类也必须声明为抽象类
三、接口
1、接口:interface
访问权限修饰符 interface 接口名{}
2、接口只能包含常量和抽象方法
接口中的属性默认都是public、static、final修饰的
接口中的方法默认都是public、abstract修饰的
static和abstract不能同时出现
3、实现接口:
修饰符 类名 implements 接口名1,接口名2,...{
}
接口没有构造器,不能通过自身实例化,必须藉由子类实例化
子类必须实现接口中的所有抽象方法,否则,子类也要声明为抽象类
4、接口可以继承多个接口