zhanglong1226 发表于 2010-01-01 11:33

Java中 static的理解



一般来说,对于static声明的属性,都可以直接使用类名称来调用:
类名称.static属性
所以代码在修改城市属性时应该由类名称来完成:
Persona.city = “B城”;

Static除了定义属性之外还可以定义方法,使用static定义的方法也可以使用类名直接调用:
如:Person.setCity(“B城”);
=======================静态与非静态========================
在非静态方法中可以调用静态的属性和方法,但是在静态方法中不可以调用非静态属性和方法,为什么会由这样的限制呢?
1.静态方法和属性可以在没有实例化对象的时候调用。
2. 而类中的普通方法和属性,则肯定在对象实例化之后,才有可能被调用

============= public static void main(String args[]){}解析   ================
如果一个方法要直接被类名称调用,则其声明格式为:
public static 返回值类型|void 方法名(参数列表){}
如:
class Demo{
public static void main(String args[]){
   new Demo.fun();
}
      public satic void fun(){
         System.out.print(“hello java”);
}
}
主方法上也存在static关键字,那么主方法的含义是什么呢?
public static void main(String args[])
·public:表示最大的权限,任何人都可以访问。
·static:因为执行的时候就是执行类名称,表示该方法可以被类名称直接调用。
·void:因为主方法是一切的入点,所以没有返回值。
·main:系统内建的方法名称。
·String args[]:表示字符串数组,用于接收参数。
如:
Class Demo06{
   public static void main(String args[]){
   for(int i=0;i
      System.out.print(args+”、”);
}
}
}
那么执行的时候要采用以下的格式执行:
   javac Demo06 参数1参数2参数3…   参数n
要想输出一个“hello world”的字符串,则要用“”双引号引起来表示一个完整的参数。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/106716/showart_2137184.html
页: [1]
查看完整版本: Java中 static的理解