final和static的使用

package pro;

public class Part {
static final double PI=3.14;
static int age=23;
	public static void main(String[] args) {
	// TODO Auto-generated method stub
      final int number;
      number=1235;
      int age=22;
      //number=1236;
      System.out.println("常量PI 的值是:"+PI);
      System.out.println("赋值后number的值为:"+number);
      // System.out.println("int型变量age的值为:"+new Part().age);
      //去掉第五行中的static时,这一行可以使用
      System.out.println(age);
	}
}

/*小结:① final 数据类型 常量名称=数值;定义变量时加final变为常量,且只能被赋值一次
             ② 引用(作者:般若兮若) 
             main方法是static的,因此如果想用main方法直接去调用方法或者属性的话必须是
             static的.当然,如果实例化出一个对象的话,那么定义的变量就可以不是static的.
             举个例子:

       

public class Test{
        static int i;
        public static void main(String[] args){
                System.out.println(i);
        }
}


             这种情况直接使用变量的话需要是static的,否则就会报错无法从静态上下文中引用非                静态变量.
             另外一种情况:

       

public class Test{
        int i;
        public static void main(String[] args){
                System.out.println(new Test().i);
        }
}


           这种情况定义的变量不需要static,因为你new了一个Test类的实例,所以可以直接去调              用Test
           的属性跟方法.
*/

你可能感兴趣的:(final和static的使用)