final关键字和枚举类型

本文详细介绍了Java中的final关键字及其应用场景,包括修饰变量、方法和类的规则与注意事项。同时,文章探讨了枚举类型的概念、格式及实际运用,展示了如何在枚举类型中与switch语句结合使用,强调了枚举在常量定义和安全性的优势。
摘要由CSDN通过智能技术生成

目录

final是什么

final怎么用

final注意事项

枚举类型是什么

枚举类型的格式

枚举类型举例


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;
        }
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值