Java 中的 static 和 final 关键字 您所在的位置:网站首页 java里面的final Java 中的 static 和 final 关键字

Java 中的 static 和 final 关键字

#Java 中的 static 和 final 关键字| 来源: 网络整理| 查看: 265

Java的访问控制(public、private、protected)是停留在编译层的,也就是它不会在 .class 文件中留下任何的痕迹,只在编译的时候进行访问控制的检查。因此我们常见的修饰符也就是 static 和 final

static 概述 静态、全局、只与类本身相关、为类实例之间共享修饰方法:类方法修饰变量:类变量 与非 static 对比 存放位置:存放在方法区,非 static 修饰的方法变量在堆内存中生命周期:随着类走,非 static 则随着实例对象走 方法重写

子类不能重写父类的静态方法,如果想要修改的话需要在子类重新声明一个和父类相同的方法即可。

final 概述

用来修饰非抽象类、非抽象方法、变量(引用)

说明 修饰类:断子绝孙类、不可被继承、不可重写类中方法、比如:String 类修饰方法:不可被重写修饰基本数据类型:将被定义为常量修饰引用数据类型:如对象、数组,则对象和数组内数据可以变更、但是指向该对象的引用不会变 同时被 static 和 final 修饰

加载到内存后会被分配到一个固定的内存空间,将同时被多个对象共同持有。 final 和 static final 的区别:final 是一个对象内唯一,static final 是多个对象内唯一

为什么被 final 修饰的方法执行效率高(类方法和实例方法区别)

该方法只会被编译一次,属于类方法(同时被static 和 final 修饰),当类的字节码文件被加载到内存时就会给分配地址,是内嵌到程序运行环境当中的,可直接通过类名调用(也可以通过实例后的对象名调用,会被警告),生命周期随着所在类而定; 而实例方法每次调用的前提是该方法所在类必须实例化后才会给分配地址,此时可通过实例后的对象调用,生命周期随着类的实例化对象而定。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有