static 及简单的单态设计模式

来源:互联网 发布:linux关闭snmp服务 编辑:程序博客网 时间:2024/05/15 21:26

class PassParam
{
 int x;
 public static void main(String args[])
 {
  /*
  int x=5;
  change(x);
  System.out.println(x);
  */
  PassParam obj = new PassParam();
  obj.x=5;
  change(obj);
  System.out.println(obj.x);
  
  int[] x = new int[1];
  x[0]=5;
  change(x);
  System.out.println(x[0]);
 }
 /*
 public static void change(int x)
 {
  x=3;
 }
 */
 public static void change(PassParam obj)
 {
  obj.x=3; 
 }
 public static void change(int[] x)
 {
  x[0]=3; 
 }
}
/*
静态方法只能访问同一个类中的静态成员或变量,因为非静态的成员或者
变量只有在对象被创建时才能够被使用
静态代码块的执行顺序。
单态设计模式的运用,像STRUTS ,SPRING,JUNIT等配置文件的加载等可以灵活运用

*/
class Chinese
{
 static Chinese objRef = new Chinese();
 private static int count = 0;
 private static String country = "中国";
 
 public static Chinese getInstance()
 {
  return objRef;
 }
 
 static
 {
  count = 2;
  System.out.println("static code"); 
 }
 
 private Chinese()
 {
  System.out.println(++count);
 } 
 
 static void sing()
 {
  System.out.println("啊");
 }
 
 void singOurCountry()
 {
  System.out.println(country);
  sing();
 }
 
 public static void main(String args[])
 {/*
  Chinese.sing();
  new Chinese().sing();
  new Chinese().singOurCountry(); 
  */
  Chinese obj1 = Chinese.getInstance();
  Chinese obj2 = Chinese.getInstance();
  System.out.println(obj1==obj2);
 }
}

原创粉丝点击