码迷,mamicode.com
首页 > 其他好文 > 详细

static理解

时间:2015-03-13 18:56:25      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

1为什么main方法是静态的

因为如果一个类定义了main()方法,这个main方法应在类的构造方法之前被调用,可是由于构造方法运行的时候尚未加载的jvm虚拟机中,所以需声明为static

2:静态方法.静态属性怎么调用

 类名.静态方法

类名.静态属性

对象名.静态方法

对象名.静态属性

即:静态方法和静态属性,既可以用类名直接调用,也可以用对象调用

3 静态方法只可以被隐藏,而不可以覆盖。当t1为Person类型时,则调用Person类的静态方法,因为静态方法只属于这个类,而当t2类型为Test02时,调用子类的静态方法,当子类没有时,调用父类的方法,这就叫做继承父类的方法了。

  1. </pre></li></ol><p></p><pre name="code" class="html"> class Person {  
        static String name, department;  
        public  static void printValue() {  
            System.out.println("name is " + name);  
            System.out.println("department is " + department);  
        }  
    }  
      
    public class Test02 extends Person {  
        static int salary;  
      
        public  static void printValue() {  
            System.out.println("salary is " + salary);  
        }  
      
        public static void main(String args[]) {  
            Person t1 = new Test02();  
            t1.printValue();  
            Test02 t2 = new Test02();  
            t2.printValue();  
        }  
    }  


    1. name is null
      department is null
      salary is 0

      static修饰属性:单例的,加载到内存中只保存一份,节省内存资源
    2. 方式一
    3. <span style="background-color: rgb(204, 102, 0);">package javaTest;
      
      
      public class Singleton {
      <span style="white-space:pre">	</span>private Singleton s = new Singleton();
      <span style="white-space:pre">	</span>private Singleton(){
      <span style="white-space:pre">		</span>
      <span style="white-space:pre">	</span>}
      <span style="white-space:pre">	</span>public Singleton getInstance(){
      <span style="white-space:pre">		</span>return s;
      <span style="white-space:pre">		</span>
      <span style="white-space:pre">	</span>}
      
      
      }</span>
      
      1. package javaTest;
        
        public class Singleton2 {
        	private Singleton2 s=null;
        	private Singleton2(){
        		
        	}
           public Singleton2 getInstance(){
        	   if(s==null){
        		   s=new Singleton2();
        		   
        		   
        	   }
        	return s;
        	   }
           }
        


static理解

标签:

原文地址:http://blog.csdn.net/u014236541/article/details/44242299

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!