您的位置:首页 > 编程语言 > Java开发

Java学习笔记17. 静态方法和非静态方法

2018-02-25 14:15 176 查看
与字段相似,方法也可以分为静态和非静态。
静态方法可以访问静态字段,也可以访问静态方法。但是静态方法不能直接访问非静态方法,必须通过对象的实例进行访问。
相反,非静态方法在访问时没有限制,既可以访问静态的,也可以访问非静态的。
其实,只要想想原理就能明白。对象直接要进行互动就必须先具备形体,而创建对象,或者使用静态修饰符修饰,就是创建形体。举个例子:public class demoStaticMethod{

private int a = 10; //非静态字段
private static int b = 20; //静态字段

public static void main(String[] args){
sayHello();
sayHi();    //这里会报错,因为静态方法main不能直接访问非静态方法 sayHi();
System.out.println(a); //这里会报错,因为静态方法main不能直接使用非静态字段 a
System.out.println(b);

demoStaticMethod dSM = new demoStaticMethod();
dSM.sayHi(); //静态访问非静态,必须创建实例进行访问
System.out.println(dSM.a); //通过实例访问非静态字段
}

static void sayHello(){ //静态方法

System.out.println("Say Hello!");
}

void sayHi(){ //非静态方法

System.out.println("Say Hi!");
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: