【新手Java】13.类与对象 Class and Object(2)

修饰符

前文见:
【新手Java】12.类与对象 Class and Object(1)

【对于Class的静态关键词】
在学习方法的时候,我们已经了解了关键词static
如果我们将static与方法(或变量)一起使用,
则该方法仅属于类定义,并且永远不会传递到该类的实例(即对象)上

在所有程序编译运行的过程中,变量都是由系统自动分配内存进行存储的。

在这个存储过程中,static所修饰的变量(也就是静态变量),它所被分配的空间是一直伴随程序运行的,空间将会保持到程序的结束关闭,才会被释放。

换句话说:程序运行时,系统分配给静态变量的内存是一直存在的,除非程序被终止。

根据这一点来看,假若在定义一个类的过程中,定义了一个static修饰的变量,那么这个类在被加载的同时,被static修饰的变量就存在于内存当中了,这样一来就独立于该类的所有对象,被该类所有对象共享,将对象相关的变成了类相关,所以静态变量也可以称之为类变量。

假设一个类中某个属性被static所修饰,那么就可以通过"类名.属性名"来访问

被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享
用public修饰的static成员变量和成员方法本质是全局变量和全局方法,当声明它类的对象时,不生成static变量的副本,而是类的所有实例共享同一个static变量

也就是说,static修饰的成员变量和成员方法可以看作是对于“全局”的,它们会被所有的类的实例所共用
用访问器来举例:若一个变量不是静态类的,那么我们想要获取这个变量的话就必须指定是哪个对象实例的“这个变量”

比如我们Car类实例了一个p1,我们想知道p1的颜色,就必须用访问器指定获得"p1"的"Color"
而用static修饰的变量,它是“属于类的类变量”,我们只需要指定这个类就可以获得它
比如我们的Car全是红旗牌子的,那么我们就可以把“红旗牌”设置为static,之后想知道该Car类的牌子只需要指定Car类即可,不需要细化到某个具体的实例

可以参考 https://blog.csdn.net/hxc1314157/article/details/78836220

【Java中的修饰符】
修饰符改变变量、方法和类的含义,有两种类型的修饰符
访问修饰符 Access Modifiers :设置对变量,方法,类或包的访问级别
非访问修饰符 Non-Access Modifiers:以其他(与访问无关的)方式设置变量、方法、类或包

访问修饰符 Access Modifiers
这里有四种访问修饰符(实际上是三种)
public:使变量、方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值