java中的static

来源:互联网 发布:淘宝客用什么软件 编辑:程序博客网 时间:2024/06/15 01:02

static不仅可以定义静态变量,还可以定义静态方法,平时我们写的大多数main函数就是静态方法。

public class Hello{

//使用static关键字声明静态方法

public static void print(){

System.out.println("welcome to my blog");

}

public static void main (String[ ] args){

//直接使用类名调用静态方法

hello.print();

//也可以通过对象名调用,但是更推荐使用类名调用

Hello demo = new Hello();

demo.print();

}

}


以上代码运行结果为:welcome to my blog

welcome to my blog


注意事项:

1,静态方法中可以直接调用同类中的静态成员,但不能调用非静态成员

public class Hello{

String name1 = "anna";//非静态成员变量

static String name2 = "annaluo"//静态成员变量

public static void print(){

System.out.println("欢迎你"+name1);//因为name1是非静态成员变量,所以会报错

System.ou.println("欢迎你"+name2);//name2为静态变量,不会报错,正常运行。

}

}

如果想在静态方法中调用非静态成员变量,可以通过创建类的对象,然后通过对象来访问。

//在静态方法中调用非静态成员变量

public static void print(){

//创建类的对象

Hello hello = new Hello();

//通过对象来实现在静态方法中调用非静态变量

System.out.print("欢迎你"+hello.name1);

}


2,普通的成员方法可以直接访问静态变量和非静态变量

(延续上面定义的name1和name2)

Public void show(){

System.out.println("欢迎你"+name1);

System.out.println("欢迎你"+name2);

//因为这是一个普通方法,所以两句话均能执行,不会报错

}


3,静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。

//普通成员方法

public void show(){

System.out.println("welcome to my blog");

}

//静态方法

public static void print(){

System.out.println("欢迎来到我的博客");

}

public static main (String[ ] args){

//普通成员方法必须通过对象调用

Hello hello = new Hello();

hello.show();

//静态方法可以直接调用

print();

}

原创粉丝点击