博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java中的访问权限修饰符、各种变量、static、final等关键字,一直混淆的整理(未完)
阅读量:2055 次
发布时间:2019-04-28

本文共 911 字,大约阅读时间需要 3 分钟。

访问权限修饰符public protected default private

public protected default private
类内
包内
子类
包外

public可以跨包使用,任何包的任何类都可以访问。

protected保护子类,可以继承给子类使用。同一个包的不同类也可以访问。
default(默认)给包内使用,包内的其他类也可以访问。
private只能在本类内用,体现封装。

当写一个class时,默认状态下,同一个包下的class不能重名

局部变量、成员变量、实例变量、类变量

方法内定义的变量是局部变量,作用范围到该方法结束,不能被上述权限控制修饰符和static修饰。比如public static void main(){}就是一个方法,在它里面定义的就是局部变量。

方法外定义的变量是成员变量。其中,不带static修饰的是实例变量,static修饰的是类变量
声明成员变量可以不初始化(被final修饰且没有static的必须显式赋值?),局部变量必须初始化。
成员变量和局部变量都可以是final型,但局部变量不可以是static
成员变量存在堆里,局部变量存在栈里。

但是反射,任何类的任何变量都可以访问,访问类的private成员也是有可能的。

static、final关键字

属性 方法 代码段 内部类 局部变量
final 表明是一个常数(创建后不能被修改)。和对象有关,不同对象可以有不同的值。初始化可以在编译期,也可以在运行期,初始化后不能被改变 不能修改,因此该方法在子类中不能被重写 该类不能被继承 可以修饰局部变量
static 强调它们只有一个(创建后能被修改)。和对象无关,所有对象都只有一个值,是属于类的。初始化在编译期(类加载的时候),初始化后能改变。和“this、super”势不两立。 和对象无关,属于类,而不是实例对象子类中不能被重写 和对象无关 和对象无关 不能修饰局部变量
static final 表示一旦给值,就不可修改,并且可以通过类名访问 表示该方法不能重写,可以在不new对象的情况下调用

转载地址:http://tinlf.baihongyu.com/

你可能感兴趣的文章
【Loadrunner】性能测试报告实战
查看>>
【面试】一份自我介绍模板
查看>>
【自动化测试】自动化测试需要了解的的一些事情。
查看>>
【selenium】selenium ide的安装过程
查看>>
【手机自动化测试】monkey测试
查看>>
【英语】软件开发常用英语词汇
查看>>
Fiddler 抓包工具总结
查看>>
【雅思】雅思需要购买和准备的学习资料
查看>>
【雅思】雅思写作作业(1)
查看>>
LoadRunner-常用的函数
查看>>
【雅思】【大作文】【审题作业】关于同不同意的审题作业(重点)
查看>>
【Loadrunner】通过loadrunner录制时候有事件但是白页无法出来登录页怎么办?
查看>>
【Python】Python 读取csv的某行或某列数据
查看>>
【Loadrunner】平台1.9环境APP成功录制并调试成功后的脚本备份
查看>>
【Loadrunner】性能测试:通过服务器日志获取性能需求
查看>>
【Python】sasa版:文件中csv读取在写入csv读取的数据和执行是否成功。
查看>>
【loadrunner】【scorm学习】demo/test域上进行scorm脚本录制及回放成功脚本备份
查看>>
【Loadrunner】使用LoadRunner上传及下载文件
查看>>
【Python】Python 打印和输出更多用法。
查看>>
【Loadrunner】使用LR录制HTTPS协议的三种方法
查看>>