浅谈一下:Java学习中不得不知道的:static (静态)成员
创始人
2024-02-07 03:48:37
0

下面笔者,按照之前的Student进行简单的说明:

class Student {private String name ;private int age ;private String classRoom ;//上课教室public Student(String name, int age) {this.name = name;this.age = age;}public void doClass() {System.out.println("姓名 "+ name +" 年龄 " + age +"正在上课学习");}
}public class Main {public static void main(String[] args) {Student student1 = new Student("小赵",21);student1.doClass();Student student2 = new Student("小吴",19);student2.doClass();Student student3 =new Student("小王",20);student3.doClass();}
}

上述代码的运行结果为:

对于上述的代码,笔者画图简单解析一下:(堆区)

但是,对于每个学生的classRoom(上课教室)都一样!!因此,我们可以:

public static String classRoom ="山东大学数计学院!";

因此,当我们加了static 以后,每个对象里面,就没有了classRoom 只有name 和age ,此时的classRoom 在方法区!

因此,相当于,全部的学生,都在一个教室: 山东大学数计学院!

在Java当中,被static修饰的成员变量称为静态成员,也可以称为:类成员!其不属于某个具体的对象,是所有对象所共享的

static修饰的成员变量,称为静态成员变量:

静态成员变量特性 :

  1. 不属于某个具体的对象,是类的属性,所有对象共享的,不存储在某个对象的空间中
  2.  既可以通过对象访问,也可以通过类名访问,但一般更推荐使用类名访问
  3.  类变量存储在方法区当中
  4.  生命周期伴随类的一生(即:随类的加载而创建,随类的卸载而销毁

 笔者将上面的代码;public static String classRoom ="山东大学数计学院!";,通过类名访问一下:

class Student {private String name ;private int age ;//private String classRoom ;//上课教室public static String classRoom ="山东大学数计学院!";public Student(String name, int age) {this.name = name;this.age = age;}public void doClass() {System.out.println("姓名 "+ name +" 年龄 " + age +" 正在上课学习");}
}public class Main {public static void main(String[] args) {System.out.println(Student.classRoom);}
}

上述代码的运行结果为:

 在上述的代码中,没有开辟对象,但是仍能打印出来结果,证明,静态类的成员不属于对象,所以不用通过对象的引用来访问,直接通过类名就可以访问!!(静态不依赖于对象!

下面讲解一下:用static修饰的成员方法

打今儿起,开始接触静态成员修饰的方法,所以,对于成员方法的叫法,我们也该改改口了!!

 静态成员方法:大致的写法为:

  public static void func() {System.out.println("static func()");}

非静态成员方法:大致的写法为:

 public void doClass() {System.out.println("姓名 "+ name +" 年龄 " + age +" 正在上课学习");}

上述的区别主要在于:有无static !!

输出静态成员方法跟输出静态成员变量一样:Main 函数里面的写法为:

 public static void main(String[] args) {Student.func();}

然后就可以成功的输出最后的结果:

 因此,通过上述的代码可以看出:静态的成员方法,也不依赖于成员变量!

在静态方法中,我们需要注意的是:

  1. 在静态方法内部,不能直接调用非静态的成员方法,所有的非静态方法,一定依赖于对象的引用才能调用!
  2. 在静态方法内部不能直接使用非静态的成员数据  原因:非静态的数据成员是属于对象的,当我们调用的时候,没有实列化任何对象!!
  3. 只要是非静态的数据成员,都需要通过对象的引用才能调用
  4. 静态方法里面是不能使用this的
  5. 普通成员方法内部是可以使用静态的成员方法的

在我们一般进行Java项目的时候,一般类中的数据成员都设置为private ,而成员方法设置为public 

class Student {private static int size = 10;//构建getter and setter 方法!!来对数据进行更改!public static int getSize() {return size;}public static void setSize(int size) {Student.size = size;}}public class Main {public static void main(String[] args) {Student.setSize(12);System.out.println(Student.getSize());}
}

获取静态的成员变量或者是设置静态的成员变量,此时的方法最好是静态的,否则,你要是非静态的,你还得实列化对象,这就好比,脱裤子放屁,多费手续!!

下面讲解一下:对于静态变量的初始化!

1.直接赋值

public static String classRoom ="山东大学数计学院!";

2.默认初始化

    public static int arr ; // arr---->0public static String classRoom ;  //classRoom ------>null

3.可以通过getter 和setter方法来进行初始化

    //构建getter and setter 方法!!来对数据进行更改!public static int getSize() {return size;}public static void setSize(int size) {Student.size = size;}

4.在构造对象的时候,可以在构造方法中进行赋值(不建议这样写)

5.通过代码块进行赋值!!(对于代码块是什么??请详见笔者下篇博客!)

相关内容

热门资讯

中学学生操行评语 中学学生操行评语15篇  在学习、工作、生活中,大家对评语都不陌生吧,评语可以对被评价者进行有针对性...
毕业寄语简短 精选毕业寄语简短  那年的夏天,我们都正青春年少,即将分别的我们有淡淡的愁绪,更多的是对未来渺茫生活...
名侦探柯南经典语录大全   《名侦探柯南》是根据日本漫画家青山刚昌创作的侦探漫画《名侦探柯南》改编的同名推理动画作品系列。下...
押韵的经典语录社会 导语:时光听着一段旋律,熟悉在心里的记忆,阳光烘干一片阴雨,温暖在晴朗的笑容里,目光琉璃一行小诗,晶...
大一新生寄语 大一新生寄语5篇  在平日的学习、工作和生活里,大家都不可避免地会接触到寄语吧,寄语是指寄托希望和美...
毕业感言:值得我们珍惜 毕业感言:值得我们珍惜  每年凤凰花开时,就是一个小学生飞向另一段旅程,开始青少年生活的时候,毕业感...
与老外的聊天技巧 与老外的聊天技巧  西方人为了彼此融洽相处,维护国家良好形象,特别重视生活教育和人际关系。尤其平时说...
代嫁弃妃 安知晓 小说语录   方流苏:有的人,适合相伴一生,有的人,适合怀念一生,这都是幸福  ——安知晓《代嫁弃妃》  风南...
安意如《陌上花开》唯美语录   爱情用来遗忘,感情用来摧毁,忠诚用来背叛,在时之洪流中起落,人心常常经不住世事熬煮。一切都存在变...
幼儿园暑假工作安排公文 幼儿园暑假工作安排公文  尊敬的家长朋友们:  转眼间,本学期即将结束,衷心的'感谢您一直以来对幼儿...
感谢家长的话语 感谢家长的话语感谢家长的话语1.坐在电脑前敲打着键盘,出一张“两位数加减一位数、整十数”的口算练习。...
第一学期中班幼儿评语 第一学期中班幼儿评语(精选15篇)  在平平淡淡的日常中,大家都写过评语吧,评语的内容包括被考评者的...
王小波的经典语录100句   王小波的小说既继承了年代对爱情与革命权力关系的思考,具有强烈启蒙意味,也顺应了年代世俗化潮流。接...
经典祝愿高考成功寄语 经典祝愿高考成功寄语(通用90句)  六月参加高考,准备还得趁早,心态一定摆正,付出必有回报,毕竟熬...
电影的观后感 电影的观后感  在观看完一部作品以后,能够给我们不少启示,这时候最关键的观后感不能忘了。但是观后感有...
利益关系经典语录 利益关系经典语录  在日常的学习、工作、生活中,大家都知道一些经典的语录吧,语录是指一个人的说话记录...
哆啦a梦语录 哆啦a梦语录  01、骗人有风险,说谎要谨慎。  02、日子就像偷跑的小孩,无声地溜走。  03、知...
感人的情书经典语录   在很多超感人的情书中,是有一些情书经典语录起到关键作用。小编今天收集了超感人情书经典语录,希望得...
高中生毕业寄语 高中生毕业寄语4篇  在日常的学习、工作、生活中,大家总免不了要接触或使用寄语吧,寄语是所传的、寄托...
优秀班干部获奖感言 优秀班干部获奖感言优秀班干部获奖感言尊敬的老师,亲爱的同学: 大家晚上好!我是S,今天很高兴作为获奖...