static静态修饰符的⽤法和需要注意的地⽅
⾯向对象中static修饰的内容⾪属于类⽽不是属于对象
1. static⽤来修饰成员变量:
被static修饰的成员变量叫静态成员变量,如果没有被修饰叫⾮静态成员变量
定义变量后只运⾏⼀次代码的初始化操作,之后会跳过该初始化操作
设置静态全局变量⼀般是为了解决数据共享问题
静态变量是属于这个类,⽽不是属于某个对象的
1.1. 静态成员变量的访问⽅式:
1. ⽤对象进⾏访问:对象名.变量名
2. 可以通过类名来访问:类名.变量名
1.2. 需要注意的地⽅:
1. 只有数据需要共享时才需要static来修饰
2. 只有静态变量才能有类名访问
3. 局部变量不允许被static修饰
2. static⽤来修饰⽅法:
2.1. 静态⽅法的访问⽅式:
static修饰的变量1. ⽤对象进⾏访问:对象.⽅法名()
2. 可以通过类名来访问:类名.⽅法名()
2.2. 需要注意的地⽅:
静态⽅法可以⽤对象或类名调⽤,⾮静态⽅法只能⽤对象调⽤
静态⽅法可以访问静态成员变量,不能访问⾮静态的成员变量,⾮静态的⽅法中可以访问任何成员变量
静态⽅法可以直接访问静态⽅法,但是不能访问⾮静态⽅法
静态⽅法中不允许出现this关键字和super关键字的
3.特点:静态的数据早于⾮静态的数据存在于内存中
⾯试题:是否可以在static环境中访问⾮static变量?
static变量在Java中是属于类的,它在所有的实例中的值是⼀样的,当类被Java虚拟机载⼊的时候,会对static变量进⾏初始化,如果你的代码尝试不⽤实例来访问⾮static的变量,编译器会报错,因为这些变量还没有被创建出来,还没跟任何实例关联上
因为静态的成员属于类,随着类的加载⽽加载到静态⽅法区内存,当类加载时,此时不⼀定有实例创建,没有实例,就不可以访问⾮静态的成员
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论