首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【Java】static成员

【Java】static成员

作者头像
喜欢做梦
发布2024-11-25 18:04:19
发布2024-11-25 18:04:19
1910
举报
文章被收录于专栏:学习学习

1.为什么要有static成员?

代码语言:javascript
复制
class Dog{
    public int age;
    public String name;
    public String color;
    public Dog(int age, String name, String color) {
        this.age = age;
        this.name = name;
        this.color = color;
    }
}
public class Test{
    public static void main(String[] args) {
        Dog dog1=new Dog("小白","白色");
        Dog dog2=new Dog("小黑","黑色");
        Dog dog3=new Dog("小黄","黄色");
    }
}

在这里我创建了一个狗类并进行实例化三个对象

2.什么是static成员

我们可以发现这些小狗的年龄好像都一样,那我们是否可以只写一次就可以运用到全员呢?于是这时候我们就要使用到static

2.什么是static?

static:static是用来修饰成员变量或成员方法的,被static修饰的成员,成为静态成员,也可以称为类成员,静态的成员只有一份,存在方法区当中,其不属于某个具体对象,是所有对象所公有的

3.static的访问形式 

代码语言:javascript
复制
class Dog{
    public static int age;
    public String name;
    public String color;
    public Dog(String name, String color) {
        this.name = name;
        this.color = color;
    }
}
1.通过对象的引用访问:对象名.被静态的成员
代码语言:javascript
复制
public class Test{
    public static void main(String[] args) {
        Dog dog1=new Dog("小白","白色");
        dog1.age=2;
        Dog dog2=new Dog("小黑","黑色");
        dog2.age=2;
        Dog dog3=new Dog("小黄","黄色");
        dog3.age=2;
    }
}
2.通过类名访问:类名.被静态的成员
代码语言:javascript
复制
 Dog.age=2;

 那使用以上这两种方法那种更好呢?

static称为静态成员变量,也称为类变量。也就是说这个变量是属于类的,不依赖变量,他是所有对象所共享的,不属于某个对象的空间中。所以更推荐使用类名访问

静态成员变量特性

  • 属于类,不依赖于对象,不需要实例化;
代码语言:javascript
复制
public class Test{
    public static void main(String[] args) {
        Dog.age=2;
    }
}

  • 推荐使用类名访问;
  • 类变量储存在方法区当中;
  • 生命周期随类的一生;
  • 可以在非静态成员方法中访问静态成员方法
  • 不能在静态成员方法访问任何非静态成员方法,因为静态方法不依赖于对象,可以通过类名来访问;非静态方法依赖于对象,需要通过对对象的引用访问。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-07-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.为什么要有static成员?
  • 2.什么是static?
  • 3.static的访问形式 
    • 1.通过对象的引用访问:对象名.被静态的成员
    • 2.通过类名访问:类名.被静态的成员
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档