----------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】
原文:http://www.cnblogs.com/siwuxie095/p/6562201.html