java中的static081120

来源:互联网 发布:大数据收集 编辑:程序博客网 时间:2024/06/06 14:11

static方法内部的代码,只能访问类中的static属性或方法,不能访问类中的非static属性或方法(因为那是对象方法),但非static方法(对象方法)可以访问static数据成员或方法。
eg:public class AccessValue {
 int value;
 public static void main(String[] args) {
  for(int i=0;i<args.length;i++){
   System.out.println(args[i]);
  }
  
  System.out.println(value);
 }

}
直接main方法静态方法中直接访问value是错误的,可以有两种方法解决:
1:在value前面加上static
eg:public class AccessValue {
 static int value;
 public static void main(String[] args) {
  for(int i=0;i<args.length;i++){
   System.out.println(args[i]);
  }
  
  System.out.println(value);
 }

}
2:main方法中产生AccessValue对象,通过对象引用访问value
eg:public class AccessValue {
 int value;
 public static void main(String[] args) {
  for(int i=0;i<args.length;i++){
   System.out.println(args[i]);
  }
  AccessValue v=new AccessValue()
  System.out.println(v.value);
 }

}

对于建立对象:
1:FighterPlane fp;
2:fp=new FightPlane();
第一句的作用相当与一个遥控器,只是产生一个FightPlane的声明,此时没有产生任何对象,也没有为此对象分配内存空间,这和C++是有区别的!
第二句既产生了对象也分配了内存空间!

java的两个在JDK不同版本下的输入:
1:BufferedReader头文件是import java.io.*;
eg: BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
 Sting str;
 str=buf.readLine();
 n=Integer.parseInt(str);
2:Scanner头文件是import java.util.*;
eg: Scanner cin=new Scanner(System.in);
 cin.hasNextInt();
 n=cin.nextInt();
 

原创粉丝点击