java基础 —- final关键字

1551-龙同学

发表文章数:45

热门标签

首页 » Java » 正文

java基础 —- final关键字

final关键字的理解概述:

final关键字修饰的内容只能使用,不能改变或扩展。如:API中提供的类不能随便继承改写,有public final class String、 public final class Math 

final关键字的使用概述:

final关键词可以修饰类,方法,基本类型变量,引用类型变量:被修饰的类,不能被继承;被修饰的方法,不能被重写;
被修饰的基本类型变量,只能赋值一次,不能再被重新赋值;被修饰的引用类型变量,
只能指向一个对象,地址不能再更改,但是不影响对象内部的成员变量值的修改。

 

final关键字的最终测试代码:


/**
 * 构造一个一般类
 * 包含无参数,有参数的构造方法
 * 包含final成员变量,一般成员变量
 * 包含final成员方法,一般成员方法
 */
class MyClass {
    int num = 1;
    final String SIGN = "myClass"; //final修饰的常量名称,书写规范作大写字母
    //    final String SIGN;
    //    MyClass(String SIGN) {
    //        this.SIGN = SIGN;
    //    }

    final void method() {
        System.out.println("AAA");
    }

    void method02() {
        System.out.println("BBB");
    }
}

/**
 * 构造一个final类
 */
final class MyClass02 {
}

/**
 * 测试子类继承final类,一般类
 */
//class MyClassZi extends MyClass02{} 错于final类不能被继承
class MyClassZi extends MyClass {
    void method02() {
        System.out.println("BBB");
    }
    //    final void method() {
    //        System.out.println(CCC");
    //    }错于final方法不能重写
}

public class FinalCode {
    public static void main(String[] args) {
        /**
         * 测试final修饰新建对象
         * 测试分别为两种成员变量赋值
         * 测试分别为两种成员方法赋值
         */
        final MyClass myClass = new MyClass();
        //myClass = new MyClass();错于final修饰的引用变量只能指向一个对象内存地址
        //
        myClass.num = 2;//对象被final关键词修饰,不影响一般成员变量的重新赋值
        //myClass.sign = "myClass02"; 错于final修饰的成员变量不能重新赋值
        //
    }
}

标签:

未经允许不得转载:作者:1551-龙同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《java基础 —- final关键字》 发布于2021-02-05

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录