目录
final是什么
final的表面意思是不可更改的、恒量、最终的、不可变的的意思,指的是无法改变的量。
在java中final修饰的就是常量,而且变量名要大写。
例如:
public static final double PI = 3.14;
final怎么用
①修饰变量,被final修饰的变量必须要初始化,赋初值后不能再重新赋值。
final int x1= 10000;
②修饰方法,被final修饰的方法不能重写。
创建了一个动物类,里面有吃饭和睡觉的方法,其中睡觉的方法用final修饰。
public class Animal {
public void eat(){
System.out.println("动物吃东西");
}
public final void sleep(){
System.out.println("动物睡觉");
}
}
然后创建了一个狗类继承动物类。
public class Dog extends Animal{
}
之后在狗类中对父类的方法重写
可以看到,狗类中只能对没有被final修饰的方法重写,但是可以调用父类中被final修饰的方法。
public class Dog extends Animal{
@Override
public void eat() {
System.out.println("狗吃东西");
}
}
public class AnimalTest {
public static void main(String[] args) {
Dog dog = new Dog();
dog.sleep();
dog.eat();
}
}
③修饰类,被final修饰的类,不能被继承。
④修饰局部变量,变量只能赋值一次。
⑤修饰实例成员变量,只能赋值一次且一定要赋值。
final注意事项
①被final修饰的常量名称,一般都有书写规范,所有字母都大写。
②接口中的变量都是public static final 的。
③注意不要将final与finally、finalize()等搞混。
枚举类型是什么
在Java中,被 enum 关键字修饰的类型就是枚举类型,它是一种特殊的数据类型,之所以特殊是因为它既是一种类类型却又比类类型多了些特殊的约束,因此这些约束的存在也造就了枚举类型的简洁性、安全性以及便捷性。枚举一般用于以下情况:定义常量、添加新方法、与switch结合使用、实现接口、使用接口组织枚举。
枚举类型的格式
public enum 枚举名{
枚举实例,这些实例直接写大写名字。
}
例如:
public enum Sex{
BOY,GIRL;
}
枚举类型举例
枚举类型与switch的综合应用:
创建一个枚举类型的week类:
public enum Week {
MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY
}
创建一个测试类,里面有展示星期几的方法。
public class WeekTest {
public static void main(String[] args) {
show(Week.MONDAY);
}
public static void show(Week week){
switch (week){
case MONDAY:
System.out.println("星期一");
break;
case TUESDAY:
System.out.println("星期二");
break;
case WEDNESDAY:
System.out.println("星期三");
break;
case THURSDAY:
System.out.println("星期四");
break;
case FRIDAY:
System.out.println("星期五");
break;
case SATURDAY:
System.out.println("星期六");
break;
case SUNDAY:
System.out.println("星期天");
break;
}
}
}