文章目录
- 一、什么是static关键字
- 为什么要设置static关键字
- 二、static的使用规则
- 1、static修饰变量:
- 2.static的修饰方法
- 练习(定义数组工具类)
- 练习2(定义学生工具类)
- 三、static的注意事项
一、什么是static关键字
static关键字是Java中的一个修饰符,用于声明类的成员变量、方法、代码块和嵌套类。使用static修饰的成员属于类本身,而不是类的实例。也就是说,static成员在内存中只有一份,共享给所有实例。
为什么要设置static关键字
1、如果方法和变量属于非静态的,他们只有在对象当中才会被分配内存空间,也就是只有对象才能调用。如果没有static关键字,那么类是不可以调用自己的属性和方法的,只能用对象去调用。
2、方便类去使用自己的方法和变量。
二、static的使用规则
1、static修饰变量:
1.static表示静态,是Java中的一个修饰符,可以修饰成员方法,成员变量
2.被static修饰的成员变量,叫做静态变量
特点:
- 该类被所有对象共享
调用方式:
- 类名调用(推荐)
- 对象名调用
修饰的变量属于类变量,存储在方法区的静态常量池当中,被所有对象共享。
3.被static修饰的成员方法,叫做静态方法
特点:
-
多用在测试类和工具类中
-
javabean类中很少会用
调用方法 -
类名调用(推荐)
-
对象名调用
2.static的修饰方法
-
静态方法是属于类而不是类的实例的方法。它可以在不创建类的实例的情况下被调用。static修饰成员方法最大的作用,就是可以使用"类名.方法名"的方式操作方法,避免了先要new出对象的繁琐和资源消耗。
-
静态方法只能访问静态变量和调用其他静态方法,不能访问实例变量或调用实例方法。但是在非静态成员方法中是可以访问静态成员方法和静态成员变量。
练习(定义数组工具类)
需求:
在实际开发中,经常会遇到一些数组使用的工具类,请按照如下要求编写一个数组的工具类:ArraUtil
- 提供一个工具类方法printArr,用于返回整数数组的内容
返回的字符串格式如:10,20,50,34,100 - 提供这样一个工具方法getAerage,用于返回平均分。(只考虑浮点型数组,且只考虑一维数组)
- 定义一个测试类TestDemo,调用该工具类的工具方法,并返回结果。
代码呈现
测试类
练习2(定义学生工具类)
工具类代码呈现
javabean类代码省略
测试类代码呈现
三、static的注意事项
- 静态方法只能访问静态变量和静态方法
- 非静态方法可以访问静态变量或者静态方法,也可以访问非静态的成员变量和非静态的成员方法
- 静态方法中是没有this关键字
总结:
静态方法中,只能访问静态。
非静态方法可以访问所有。
静态方法中没有this关键字