final和static关键字的个人认识

  1. final

    fianl关键字可以修饰类、方法和变量。

    a. 修饰类

    final修饰的类,该类没有子类,该类不能被继承。

    b. 修饰方法

    final可以修饰方法。final修饰的方法不能被重写。

    c. 修饰变量

    final修饰的变量,是一个常量,且只能被赋值 一次,可以是成员变量和局部变量。

  2. static

    a. static用于修饰成员,可以是成员变量和成员方法。

    b. 被static修饰后的成员,可以直接被类调用。 类名.静态成员

    c. 随着类的加载而加载,随着类的消失而消失。类一加载,就有静态成员,比对象先存在。静态成员生命周期长。

    d. 被所有对象所共有。

    e. 静态变量(也就是类变量)存在于方法区中,非静态变量(实例对象)存在于堆内存中。

    f. 静态方法只能调用静态成员。(因为静态成员优先于对象存在,在静态方法生成时,非静态的成员还没有存在,故不能调用非静态的)

    g. 静态方法中不能使用this super关键字。因为this super代表对象,对象还没有存在。

    h. 静态优点:对对象的共享数据进行单独空间的存储,节省空间。缺点,生命周期过长,访问有局限性。

时间: 2024-07-31 22:16:35

final和static关键字的个人认识的相关文章

Java中final和static关键字总结

1.final: final关键字可用于类.方法.变量前. final修饰的类不可被继承,例如java.lang.Math就是一个 final类,不可被继承. final修饰变量,在显示初始化后不可改变变量值,用于常量定义.如果final变量是引用变量,则不可以改变它的引用对象,但可以改变对象的数据(属性). final修饰的方法不可被重写. 错误案例) package com.sp; public final class Fish {        final String name = "鱼

this,final super,static关键字

this关键字 this调用构造方法: 在之前学习方法之间调用时,可以通过方法名进行调用.可是针对构造方法,无法通过构造方法名来相互调用. 构造方法之间的调用,可以通过this关键字来完成. |------构造方法调用格式: this(参数列表); |------构造方法的调用: package com.oracle.demo01; public class student { private String name; private int age; public student(){ //t

Java final、static 关键字

问:谈谈 Java 中 final.finally.finalize 的区别?   答:这道题其实没有任何意义,无非就是考察开发者有没有区分这几个关键字的含义,仅仅关联是因为长得像而已. final 是一个修饰符,如果一个类被声明为 final 则其不能再派生出新的子类,所以一个类不能既被声明为 abstract 又被声明为 final 的:将变量或方法声明为 final 可以保证它们在使用中不被改变(对于对象变量来说其引用不可变,即不能再指向其他的对象,但是对象的值可变),被声明为 final

Java基础之final、static关键字

一.前言 关于这两个关键字,应该是在开发工作中比较常见的,使用频率上来说也比较高.接口中.常量.静态方法等等.但是,使用频繁却不代表一定是能够清晰明白的了解,能说出个子丑演卯来.下面,对这两个关键字的常见用法做点总结记录,方便之后的回顾以及突击知识点. 二.关键字 final final,一如字面意思 “最终的”,大体在 Java 中表示 “不可变的”.可用来修饰类.方法.方法参数以及变量. 1.修饰类 final 在修饰类的时候,代表的是此类不能被继承.也就是说如果一个类确定不会被继承使用,则

final、static关键字

Final 定义  在实际开发中,有些方法不能直接覆盖掉,不想让子类重写父类的方法,那么就引出final关键字(可以修饰类,变量,成员方法). 基本用法 final可以修饰类,但是该类不能被继承,但可以继承其他类. final可以修饰变量(成员变量,局部变量),(两种方法:一直接赋值,二用构造方法)但是该变量此时变成了一个常量. final可以修饰成员方法,但是该方法不能被重写,但可以被继承. final 修饰局部变量时,可以先定义使用时再赋值. final 不能修饰接口.抽象类.抽象方法. f

Java基础之final和static关键字

一.final        根据程序上下文环境,它可以修饰非抽象类.非抽象类成员方法和变量. final类不能被继承,没有子类,final类中的方法默认是final的.        final方法不能被子类的方法覆盖,但可以被继承.        final成员变量表示常量,只能被赋值一次,赋值后值不再改变.        final不能用于修饰构造方法.        注意:父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法默认是final类型的. 1.fin

java 中final和static关键字说明

final fianl关键字可以修饰类.方法和变量. a. 修饰类 final修饰的类,该类没有子类,该类不能被继承. b. 修饰方法 final可以修饰方法.final修饰的方法不能被重写. c. 修饰变量 final修饰的变量,是一个常量,且只能被赋值 一次,可以是成员变量和局部变量. static a. static用于修饰成员,可以是成员变量和成员方法. b. 被static修饰后的成员,可以直接被类调用. 类名.静态成员 c. 随着类的加载而加载,随着类的消失而消失.类一加载,就有静态

第九天(上) final和static关键字

继承的出现提高了代码的复用性,方便开发,是多态的前提,但随之而来的也有问题,有些累在描述后不想被继承,或者里面的方法功能时固定的,不想让子类重写,可子类继承之后又可以重写该怎么办呢 这个时候就需要一个关键字final  意为 最终的 不可变的 Final是一个比较强的修饰符,可以用来修饰类,类的成员,以及方法 Final修饰类 在类的前面加上final Final类不可以被继承,但可以继承其他类,是个太监.其成员方法也默认为final的,但成员变量是可以改变的 在使用final修饰类的时候,要注

final与static关键字的区别?(skycto JEEditor)

都可以修饰类.方法.成员变量. static可以修饰类的代码块,final不可以.static不可以修饰方法内的局部变量,final可以. static修饰表示静态或全局,被修饰的属性和方法属于类,可以用类名.静态属性 / 方法名 访问static修饰的代码块表示静态代码块,当Java虚拟机(JVM)加载类时,就会执行该代码块,只会被执行一次static修饰的属性,也就是类变量,是在类加载时被创建并进行初始化,只会被创建一次static修饰的变量可以重新赋值static方法中不能用this和su