static关键字

----------siwuxie095

   

   

   

   

   

1、使用static声明属性,被声明的属性称为全局属性,可以直接通过类名调用

   

2、使用static声明方法,被声明的方法可以直接通过类名调用

   

3、注意:

使用static方法的时候,只能访问static声明的属性和方法,而非static声明的属性和方法是不能访问的

   

「即 静态方法不能调用/访问非静态的方法和属性」

   

   

代码1

   

package com.siwuxie095.staticdemo;

   

class Person{

String name;

private static String homeplace="北京";

 

public Person(String name) {

this.name=name;

}

   

public static String getHomeplace() {

return homeplace;

}

   

public static void setHomeplace(String homeplace) {

Person.homeplace = homeplace;

}

 

public void tell() {

System.out.println("姓名:"+name+" 出生地:"+homeplace);

}

}

   

public class StaticDemo01 {

   

public static void main(String[] args) {

//声明成静态,可以在实例化之前调用

//静态属性是属于类的,所有对象共有

// 如果通过 p1.setHomeplace() 调用,其他对象的出生地同样变了

Person.setHomeplace("上海");

Person p1=new Person("张三");

p1.tell();

Person p2=new Person("李四");

p2.tell();

Person p3=new Person("王五");

p3.tell();

 

}

   

}

   

   

运行一览:

   

   

   

   

   

代码2

   

package com.siwuxie095.staticdemo;

   

public class StaticDemo02 {

 

//如果不加static,主方法(静态方法)中的i就会报错

private static int i = 10;

public static void main(String args[]){

System.out.println(i);

tell();

}

   

//如果不加static,主方法中 tell() 方法无法调用,报错

public static void tell(){

 

}

   

}

   

   

   

   

   

【made by siwuxie095】

原文地址:https://www.cnblogs.com/siwuxie095/p/6562201.html