前言:
还在学习的过程中
水平有限,不足之处望请斧正。
1、static 关键字
static是静态的意思。static关键字可以用来修饰代码块表示静态代码块,修饰成员变量表示全局静态成员变量,修饰方法表示静态方法。(注意:不能修饰普通类,除了内部类)
1.1、static修饰成员变量
被static修饰的成员变量叫做静态变量
特点:
- 被该类的所有对象共享
- 不属于对象,属于类
- 随着类的加载而加载,优先于对象而存在
调用方式:
- 类名调用 (推荐)
- 对象调用
代码示例:
public class Person(){
public static String country = "中国" ;
}
public class Test(){
public static void main (String [] args ){
System.out.println( Person.country ); //类名调用
Person person = new Person() ;
System.out.println(person.country) ; // 对象调用
}
}
1.2、static修饰成员方法
特点:
- 一般用于测试类和工具类
- javabean中很少使用
调用方式:
- 类名调用 (推荐)
- 对象调用
2、static 关键字补充说明
- 静态方法只能访问静态变量和静态方法
- 非静态方法可以访问静态变量和静态方法,也可以访问非静态的成员变量和非静态的成员方法
- 静态方法中没有this关键字
注解:
- this 表示的是当前方法调用者的地址,而static修饰的方法或者变量是先于对象而存在的
- 在普通方法中当形参和成员变量不重名时,this关键字可以省略(在this 关键字中有提到过)
- 在没有形式参数的方法中调用成员方法或者成员变量 this 关键字也可以省略
3、工具类
- 可以当成工具使用的类 ,主要是为其他的类提供便捷使用的类
- 该类中大部分方法都是静态方法,类名调用成员方法
- 构造方法是私有的
代码示例:
//创建一个数组工具类
//提供一个工具类方法,用于返回整数数组的内容
public class ArrayUtil {
//私有化构造方法,不让外界创建它的对象
private ArrayUtil (){
}
//定义静态方法方便调用
//返回字符串格式如 [10, 20, 30]
public static String printArr( int [] arr ){
StringBuilder sb = new StringBuilder();
sb.append("[");
for (int i = 0; i < arr.length; i++) {
if( i == arr.length - 1 ){
sb.append( arr[i] ) ;
}else{
sb.append( arr[i] ).append( ", ");
}
}
sb.append("]");
return sb.toString();
}
}
public class Test {
public static void main(String[] args) {
int[] arr = {1, 2 ,3 ,4, 5} ;
String str = ArrayUtil.printArr(arr) ;
System.out.println(str);
}
}
运行结果:
[1, 2, 3, 4, 5]
今天的分享就到这里了,期待与你共同进步!
如有不足欢迎留言指正 !