您的位置:首页 > 其它

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

2015-12-12 14:36 417 查看
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 + "\t静态属性 t1=" + t1 + "\t实例属性t2=" + t2);
}

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

Lianxi lianxi = new Lianxi();

lianxi.add2();

}


运行结果为



可以看到作为静态的t1随着循环次数的增加之不断改变,是共享的,只有一份;而实例化的t2值没有改变,实例属性是单独的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: