首页 > 其他分享 >final 关键字

final 关键字

时间:2024-09-25 16:23:47浏览次数:6  
标签:代码 System public 关键字 println final out

    java提供了以关键字给我们使用,可以修饰父类成员方法,让其只能被子类使用,不能重写。
    final: 最终的,不可改变的
点击查看代码
class Fu7 {
    public final void fun1(){
        System.out.println("江川是世界上最帅且有钱的男人! ");
    }
}

class Zi7 extends Fu7 {
//    @Override
//    public void fun1(){
//        System.out.println("李刚是下一任最帅且有钱的男人!");
//    }
}

public class FinalDemo1 {
    public static void main(String[] args) {
        Zi7 zi7 = new Zi7();
        zi7.fun1();
    }
}
    final的用法:可以修饰类,变量,方法
        类:若修饰类,该类不能被继承
        变量:修饰变量,变量变常量,不能修改被final变量的值,自定义常量
        方法:若修饰方法,方法不能被子类重写
点击查看代码
class Fu8 {
    final int a = 10;
    int b = 10;

}
class Zi8 extends Fu8 {
    public void fun1(){
//        a = 20;
        System.out.println(a);
    }
}
public class FinalDemo2 {
    public static void main(String[] args) {
//        Zi8 zi8 = new Zi8();
//        zi8.fun1();

        final Fu8 f = new Fu8(); // 指的是地址值不能被修改
        System.out.println(f.a);
        System.out.println(f.b);
//        f.a = 100;
        f.b = 100;
        System.out.println(f.b);

//        f = new Fu8();
    }
}

被final所修饰的成员变量,必须要在构造方法结束之前给值

点击查看代码
class Fu9 {
        {
        final int a;//1             叫构造代码块
    }
    final int a = 10;//1
    //final int A;   2
    Fu9(){
        //A = 100;    2
    }

}

public class FinalDemo2 {
    public static void main(String[] args) {

    }
}
    代码块:在java程序中,使用{}括起来的代码,代码块

    在不同的位置,以及使用不同的修饰词写的代码块,分为不同种类的代码块。
    局部代码块:在方法中使用带括号括起来的代码段,整体称之为叫做局部代码块,主要作用是限定变量的作用域
    构造代码块:写法和局部代码块的写法是一样的,但是构造代码块是写在  类中 方法外 的位置
        随着构造方法的调用而执行,执行顺序是 构造代码块->构造方法
    静态代码块:写法上在前两种代码块的写法上,前面是使用static进行修饰,在类中方法外编写
        是在程序运行之前,加载的时候执行,只会加载一次,静态代码块只会在程序运行之前有且仅执行一次!
        同一个类中静态代码块之间的执行顺序是自上而下
        静态代码块 -> 构造代码块 -> 构造方法
    同步代码块 :

点击查看代码
public class CodeDemo1 {

    CodeDemo1(){
        System.out.println("这是无参的构造方法。。。。");
    }

    //静态代码块
    static {
        System.out.println("这是静态代码块1。。");
    }

    //构造代码块
    {
        System.out.println("这是构造代码块。。。");
    }

    //静态代码块
    static {
        System.out.println("这是静态代码块2。。。");
    }

    public static void main(String[] args) {
//        {
//            //局部代码块
//            int a = 10;
//            System.out.println(a);
//        }
//
//        {
//            //局部代码块
//            int a = 20;
//            System.out.println(a);
//        }

        CodeDemo1 codeDemo1 = new CodeDemo1();
        CodeDemo1 codeDemo2 = new CodeDemo1();


    }
}

标签:代码,System,public,关键字,println,final,out
From: https://www.cnblogs.com/wangxiaojian-lina/p/18431585

相关文章

  • Delphi10.3关键字自动填充完成AutoComplete
    声明两个全局变量varaStringList:TStringList;//读取关键字aMemoInput:string;//当前已输入项procedureTSearchReplaceDemoForm.FormCreate(Sender:TObject);beginaStringList:=TStringList.Create;aStringList.LoadFromFile('keyWord.txt');//从文件......
  • 【JUC并发编程系列】深入理解Java并发机制:Volatile从底层原理解析到高级应用技巧(六、
    文章目录【JUC并发编程系列】深入理解Java并发机制:Volatile从底层原理解析到高级应用技巧(六、Volatile关键字、JMM、重排序、双重检验锁)1.Volatile的特性2.Volatile的用法3.CPU多核硬件架构剖析4.JMM内存模型4.1主要特性4.2JMM的工作原理4.3实现机制5.JMM八......
  • TestFinal
    packagecom.shrimpking.t1;/***CreatedbyIntelliJIDEA.**@Author:Shrimpking*@create2024/9/1411:15*/publicclassTestFinal{//常量staticfinalintYEAR=365;publicstaticvoidmain(String[]args){System.out.......
  • abstract 关键字
    java为了表示现实生活中抽象的概念集合,提供了一个关键字给我们使用:abstractabstract抽象的可以修饰类,修饰成员方法1.被abstract修饰的类是抽象类,抽象类不能被实例化2.被abstract修饰的方法是抽象方法,抽象方法不能有大括号实现3.在抽象类,既可......
  • java_day7_继承、final关键字、代码块、多态
    一、继承1、继承我想养一只......
  • java继承关系中super关键字
    super关键字的使用和注意事项:1、super仅代表当前类中的直接父类,无法使用super获取父类的父类中的成员2、super后面不能再调用superclassGrandFu3{inta=10;}classFu3extendsGrandFu3{inta=30;}classSon3extendsFu3{inta=20;publicv......
  • java_day6_this关键字、构造方法、static关键字、工具类、文档注释
    一、this关键字this代表的是调用该方法的当前对象【谁调用了该方法,this就代表那个对象】this:代表的是调用当前方法的对象this可以使用对象中的成员变量,成员方法,构造方法变量查找规则:就近原则先在方法中查找变量,若找到就使用若方法中没有该变量,去成......
  • java_day5_面向对象、private关键字
    一、面向对象面向对象与面向过程的区别?面向过程的思想:代表语言C语言功能开发中的每一步都是自己参与的面向对象的思想:代表语言java语言指的是不断地创建对象,指挥对象事情过程面向对象的思想:1、都有那些事物?判断事物的方式:......
  • CCPC 2023 Final
    \(A.\)考虑合法的b序列长什么样,我们倒着做,把+变成-,在所有\(b_{i}>b_{i+1}\)的\(i\)操作\(b_{i}-b_{i+1}\)次前缀,后缀同理,最终要求b全部相等非负即满足条件。考虑前缀(后缀)操作本质是从某个地方开始后下降次数,那么我们设\(b_{0}=b_{n+1}=inf\),最终只需要判断\(\sum|b_{i}-b_{i+1}......
  • MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战
    教程来源:B站视频BV1Vy4y1z7EX001-数据库概述_哔哩哔哩_bilibili我听课整理的课程的完整笔记,供大家学习交流下载:夸克网盘分享本文内容为完整笔记的第五篇17、单行数据处理函数P30-36&分组函数17.1、数据处理函数又被称为单行处理函数单行处理函数的特点:一个输入对应一个输出。和单行......