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】
posted on 2017-03-16 23:11 siwuxie095 阅读(113) 评论(0) 编辑 收藏 举报