JAVA Static关键字的用法

2025-05-29 0 66

static关键字的作用:

用来修饰成员变量和方法,被修饰的成员是属于类的,而不单单是属于某个对象的,也就是说,可以不靠对象来调用。

首先我们来介绍类变量

static修饰成员变量时,该变量称为类变量,该类的每个对象都共享同一个类变量的值,任何

对象都可以更改该变量的值,但也可以在不创建该类对象的情况下,通过类名对类变量进行操作

命名格式

static 数据类型 变量名;

static int age;

下面我们来举个例子,让大家体会体会类变量的作用

就比如梁山有108位好汉我们给这108位好汉按照次序每人一个编号,这就需要使用到类变量

定义一个Person类

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49
public class Person {

private int age;

private String name;

private int id;

private static int count=1;

public int getId() {

return id;

}

@Override

public String toString() {

return "Person{" +

"age=" + age +

", name='" + name + '\\'' +

", id=" + id +

'}';

}

public void setId(int id) {

this.id=count;

count++;

}

public Person(int age, String name) {

this.age = age;

this.name = name;

this.id=count;

count++;

}

public Person() {

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}

主函数

?

1

2

3

4

5

6

7

8

9
public class Test {

public static void main(String[] args) {

Person one = new Person(18, "及时雨宋江");

System.out.println(one);

Person two = new Person(18, "卢俊义");

System.out.println(two);

}

}

结果

我们看到id的数值在不断的+1,这是因为他们的id都等于了一个公共的类变量

JAVA Static关键字的用法

接下来我们来介绍静态方法

静态方法即类中使用static修饰的方法,该方法使用类名可以直接调用,不需要创建类的对象

定义格式

修饰符 static 返回置类型 方法名 (参数列表){

//执行语句

}

示例

?

1

2

3
public static void eat(){

System.out.println("吃饭了");

}

使用静态方法的注意事项

静态方法只可以直接访问类变量与静态方法

静态方法不能访问普通成员变量或成员方法

静态方法中不可以使用this关键字(因为this代表的是使用该方法的对象,而静态方法是属于类的,this无从指向,所以不可以使用)

下面我们写一段代码来使用一下静态方法

?

1

2

3

4

5
public class Person2 {

public static void test(){

System.out.println("这是静态方法" );

}

}

?

1

2

3

4

5

6

7

8

9

10
public class Test {

public static void main(String[] args) {

System.out.println("这是使用类名调用的:");

Person2.test();

Person2 person2 = new Person2();

System.out.println("这是使用对象调用的:");

person2.test();

}

}

运行结果

JAVA Static关键字的用法

下面我们从内存的角度来讲讲静态的原理

先上代码

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44
public class Teacher {

private int age;

private String name;

private static String subject="math";

public Teacher(int age, String name) {

this.age = age;

this.name = name;

}

public Teacher() {

}

@Override

public String toString() {

return "Teacher{" +

"age=" + age +

", name='" + name + '\\'' +

'}';

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public static String getSubject() {

return subject;

}

public static void setSubject(String subject) {

Teacher.subject = subject;

}

}

?

1

2

3

4

5

6
public class Test {

public static void main(String[] args) {

Teacher wang = new Teacher(18, "wang");

Teacher li = new Teacher(19, "li");

}

}

JAVA Static关键字的用法

小结:普通成员变量操作各自空间,静态变量操作共享空间

静态代码块,敲重点!!!这个在我们后面学习中会经常使用到

什么是静态代码块呢?

定义在成员位置,使用static修饰的代码块{}

位置:类中方法外

执行随着类的加载而执行且只执行一次,优先于main方法和构造方法的执行

格式

?

1

2

3

4
public class Person {

static {

}

}

这里就不深究了后面的文章我找几乎再说说

以上就是static关键字的一些基础知识,如有错误请各位批评指正

到此这篇关于JAVA Static关键字的用法的文章就介绍到这了,更多相关JAVA Static关键字内容请搜索快网idc以前的文章或继续浏览下面的相关文章希望大家以后多多支持快网idc!

原文链接:https://www.cnblogs.com/pjhaymy/p/13255734.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 JAVA Static关键字的用法 https://www.kuaiidc.com/119659.html

相关文章

发表评论
暂无评论