欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java静态static关键字用法。Arrays工具类的用法

程序员文章站 2022-09-21 14:26:54
1、静态static关键字修饰成员变量如果一个成员变量用了static关键字,那么这个变量不再属于对象自己,而是属于所在的类。多个对象共享同一份数据。Student类:public class Student { private int id; private String name; private int age; static String room; private static int idCounter = 0; public Studen...

1、静态static关键字修饰成员变量

如果一个成员变量用了static关键字,那么这个变量不再属于对象自己,而是属于所在的类。多个对象共享同一份数据。
Student类:

public class Student {
    private int id;
    private String name;
    private int age;
    static String room;
    private static int idCounter = 0;

    public Student() {
        this.id = ++idCounter;
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
        this.id = ++idCounter;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

调用Student类的方法类:

public class Demo01StaticField {
    public static void main(String[] args) {
        Student one = new Student("王雷",23);
        one.room = "101教室";
        Student two = new Student("陈雷",21);
        System.out.println("姓名:" + one.getName()
                + ",年龄:" + one.getAge() + ",教室:" + one.room
                + ",学号:" + one.getId());
        System.out.println("姓名:" + two.getName()
                + ",年龄:" + two.getAge() + ",教室:" + two.room
                + ",学号:" + two.getId());

    }
}

2、静态static关键字修饰成员方法

一旦使用static修饰成员方法,那么这就成为了静态方法。静态方法不属于对象,而是属于类的。
如果没有static关键字,那么必须首先创建对象,然后通过对象调用它。
如果有static关键字那么不需要创建对象,直接就能通过类名称进行调用。
静态方法强烈建议使用类名称调用。
注意事项:
1、静态只能直接访问静态,不能直接访问非静态。因为在内存当中是有的静态,有的非静态内容。“先人不知道后人,后人知道先人。”
2、静态方法当中不能用this。原因:this代表当前对象,通过谁调用的方法,谁就是当前对象。

3、静态代码块

静态代码块的格式:
public class 类名称{
static{
//静态代码块的内容
}
}
特点:当第一次用到本类时,静态代码执行唯一的一次。静态内容总是优先于非静态,所以静态代码块比构造方法先执行。
Person类:

public class Person {
    static {
        System.out.println("静态代码块执行。");
    }

    public Person() {
        System.out.println("构造方法执行。");
    }
}

用法类:

public class Demo04Static {
    public static void main(String[] args) {
        Person one = new Person();
    }
}

运行结果:
Java静态static关键字用法。Arrays工具类的用法

public class Demo04Static {
    public static void main(String[] args) {
        Person one = new Person();
        Person two = new Person();
    }
}

运行结果:
Java静态static关键字用法。Arrays工具类的用法
静态方法只会执行一次,构造方法每新建对象就会执行。
静态代码块的典型用途:
用来一次性地对静态成员变量进行赋值。

4、Arrays工具类

java.util包
java.util.Arrays是一个与数组相关的工具类,里面提供了大量的静态方法用来实现数组常见的操作。
1、public static String toString(数组):将参数数组变成字符串,(按照默认格式:[元素1, 元素2, 元素3, …] )
2、public static void sort(数组):按照默认升序(从小到大)对数组的元素进行排序。
备注:如果是字符串,sort默认按照升序从小到大。
如果是字符串,sort默认按照字母升序。
如果是自定义的类型,那么这个自定义的类需要有Comparable或者Comparator接口的支持。(后面学习)

本文地址:https://blog.csdn.net/Gaoju12138/article/details/109268448