Java学习笔记 (七) static 关键字和工具类

前言:

还在学习的过程中

水平有限,不足之处望请斧正。

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 关键字补充说明

  1. 静态方法只能访问静态变量和静态方法
  2. 非静态方法可以访问静态变量和静态方法,也可以访问非静态的成员变量和非静态的成员方法
  3. 静态方法中没有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]

今天的分享就到这里了,期待与你共同进步!

如有不足欢迎留言指正 !

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值