Java的作用域
发布日期:2021-10-10 12:51:14 浏览次数:2 分类:技术文章

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

Java的作用域

  作用域是指变量能生效的区域范围,声明在不同地方的变量具有不同的作用域,而决定作用域的就是花括号的位置,同时还决定了变量名的可见性与生命周期.

  Java语言中,变量的类型主要有成员变量,静态变量,和局部变量三种.类的成员变量 的作用范围与类的与类对象的作用范围相同,当类被实例化时,成员变量就会在内存中分配空间并初始化,直到这个实例化对象的生命周期结束为止.static修饰的成员变量为静态变量或者全局变量,与成员变量不同的是静态变量不依赖于特定的实例,而是被所有的实例所共享,只要一个类被加载JVM就会给类的静态变量分配内存空间,因此,就可以通过类名和变量名来访问静态变量.局部变量处于方法内部,其作用域与可见性为他所在的花括号内.

成员变量的四种作用域

作用域,可见性 当前类 同一package 子类 其他package
public 可见 可见 可见 可见
private 可见 不可见 不可见 不可见
protected 可见 可见 可见 不可见
default 可见 可见 不可见 不可见

作用域详解:

-public :表明该成员变量或者方法是对所有类或者对象都是可见的,所有类或者对象都可以直接访问

- private:表明该成员变量或者方法是私有的,只有当前类对其具有访问权限,除此之外其他类或者对象都没有访问权限.子类也没有访问权限.
- protected:表明成员变量或者方法对类自身,与同在一个包中的其他类可见,其他包下的类不可访问,除非是他的子类
- default:表明该成员变量或者方法只有自己和其位于同一个包的内可见,其他包内的类不能访问,即便是它的子类

需要注意的是,这些修饰符只能用来修饰成员变量,不能用来修饰局部变量

privateprotected不能用于修饰类

只有public , abstract , final能用于修饰类

实例题:

下列说法中正确的是();

A.实例方法可以直接调用超类的实例方法

B.实例方法可直接调用超类的类方法

C.实例方法可以直接调用其他类的实例方法

D.实例方法可用于直接调用本类的类方法

正确答案选D.子类在父类为priavatedefault类型下不能访问父类的方法,且只有静态方法可以被直接调用,故D正确.

完毕!

转载地址:https://blog.csdn.net/qq_26971803/article/details/51516075 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Java算法-插入排序
下一篇:Java程序的初始化顺序

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月17日 05时09分37秒