静态方法的使用2——与实例化方法的区别

1.写法不同

静态方法写法为      public static void add()

实例化方法写法为   public void add2()

2.调用方法不同

静态方法只能直接调用静态的方法和属性 写法为:Lianxi.add()//类名.变量

实例化方法可以调用实例化的方法和属,也可以调用静态的方法和属性(首先要实例化New )

package com.hanqi;

public class Lianxi {

    public static void add() {
        System.out.println("这是一个静态方法");
    }

    public void add2() {
        System.out.println("这是一个动态方法");
    }

    public static void main(String[] args) {
        Lianxi.add();//静态方法可以直接调用
        Lianxi lianxi = new Lianxi();
        lianxi.add();//实例化方法也可以调用非静态方法的属性和方法,,首先要实例化
        lianxi.add2();//实例化方法必须首先实例化才可以调用实例化方法的属性和方法
    }

}

3.静态的属性和方法是共享的,而实例化的属性和方法是单个的

package com.hanqi;

public class Lianxi {

    public static int t1 = 0;// 静态
    public int t2 = 0;// 非静态

    public void add2() {
        t1++;
        t2++;
        System.out.println(this + "	静态属性 t1=" + t1 + "	实例属性t2=" + t2);
    }

    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {

            Lianxi lianxi = new Lianxi();

            lianxi.add2();

}

运行结果为


可以看到作为静态的t1随着循环次数的增加之不断改变,是共享的,只有一份;而实例化的t2值没有改变,实例属性是单独的
原文地址:https://www.cnblogs.com/Chenshuai7/p/5041206.html