学习java中的final关键字,常量和抽象类

1.final的特点

final关键字是最终的意思,可以用来修饰类,方法和变量。

修饰类:该类就被称为最终类,特点是不能被继承。比如方法类。

修饰方法:该方法就被成为最终方法,特点是本能被重写。

修饰变量:该变量就只能被赋值一次。

2.常量

使用了static final 修饰的成员变量就被称为常量。

作用:通常用来记录系统的配置信息。

使用常量记录系统配置信息的优势、执行原理:

1.代码的可读性更好,可维护性也更好。

2.程序编译后,常量会被"宏替换",出现常量的地方全部会替换为其记住的字面量,这样也可以保证使用常量和直接使用字面量的性能是一样的。

3.抽象类

两种主要应用场景:

1:用抽象类,我们可以把子类的相同代码,包括方法签名都抽上来,这样可以更好的支持多态,以提高代码的灵活性。

2:反过来用,我们不知道系统中未来具体的业务实现时,我们可以先定义抽象类,将来子类继承实现,以方便系统的扩展使用。

java 复制代码
package com.web807.abstract_study;

public abstract class Animal {
    private String name;

    public abstract void cry();

    public Animal(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
java 复制代码
package com.web807.abstract_study;

public class Cat extends Animal {
    public Cat(String name) {
        super(name);
    }

    @Override
    public void cry() {
        System.out.println(getName() + "猫叫--------");
    }
}
java 复制代码
package com.web807.abstract_study;

public class Dog extends Animal {

    public Dog(String name) {
        super(name);
    }

    @Override
    public void cry() {
        System.out.println(getName() + "狗叫-----");
    }
}
java 复制代码
package com.web807.abstract_study;

public class Main {
    public static void main(String[] args) {
        Animal a = new Dog("阿黄");
        a.cry();
    }
}
相关推荐
ALex_zry几秒前
系统编程的基石:补码循环溢出与Rust变量绑定的深度探索
开发语言·后端·rust
乱世军军2 分钟前
AI 三大学习类型(监督/无监督/强化)的分类图
人工智能·学习
xixixi777773 分钟前
讲一下卫星移动通信网络(系统架构、核心技术与协议挑战及应用场景和战略价值)
网络·学习·安全·信息与通信·通信·卫星通信
ALex_zry3 分钟前
Rust语言基础分析与C++对比:系统编程的现代演进
java·c++·rust
名字不相符4 分钟前
[NCTF 2018]flask真香(个人记录,思路分析,学习知识,相关工具)
python·学习·flask·ctf
一字白首4 分钟前
Node.js+Vue 联动,Vue 快速上手:基础学习
vue.js·学习·node.js
Molesidy6 分钟前
【QT】【C++】基于QT的多线程分别管理GUI和运算任务
开发语言·c++·qt
yenggd8 分钟前
samba服务配置原理
服务器·开发语言·php
你不是我我10 分钟前
【Java 开发日记】阻塞队列有哪些?拒绝策略有哪些?
java·开发语言
●VON10 分钟前
《从零到企业级:基于 DevUI 的 B 端云控制台实战搭建指南》
学习·华为·openharmony·devui·企业级项目