现在的位置: 首页 > 综合 > 正文

static关键字

2014年08月29日 ⁄ 综合 ⁄ 共 877字 ⁄ 字号 评论关闭

http://www.javaresearch.org/article/56659.htm

static 的基本知识:
1>: static 关键字声明一个属性、方法是和类相关的,而不是和类的某个特定的实例相关,因此,这类属性或方法也称为“类属性”或“类方法”。
2>: 如果访问控制权限允许,可以不必创建该类对象而直接使用类名加"."调用,无论类中产生多少个类的实例对象,静态变量的值都是一样
3>: static 不可用于构造器
4>: 也可以通过类的实例对象访问

扩展知识:
a>: 子类继续父类的静态变量,不管是子类对象调用静态变量的hashCode()还是父类调用,产生的哈希码都是一样的
b>: 静态方法中只能调用静态变量或静态方法原因:
   因为非静态方法只能通过对象的形式调用,而静态方法在使用前,不需创建任何对象就可以调用。
c>: this和super不能存在于静态方法的原因:
   因为this代表的是当前对象,而静态方法是不需要创建任何对象就可以调用到的,因此,this不适应于静态方法。super也是同样的道理。。
d>: main方法为什么要使用static关键字
   这是因为,JVM在使用前<加载这个类>,不需创建任何实例对象就可以调用
e>: main方法的public关键字目的
   JVM在调用该代码时,因为是在不同包中,所以必须是public的

附>: 相同对象只在内存占用同一份空间
class ObjectA {
 String str = "mjs";
}

public class ObjectApprehend {
 String str1 = "mjs";
 public static void main(String[] args) {
  ObjectA a = new ObjectA();
  ObjectApprehend oa = new ObjectApprehend();
  if(a.str.equals(oa.str1)) {
   System.out.println("两个对象占用相同的内存空间");
  }
 }

 

抱歉!评论已关闭.