자바 클래스 03

       원인 : 클래스 정의를 구성하는 방법을 제공하는 경우, 더 이상 기본 생성자를 제공하지하기 위해 시스템의 원인이됩니다        

 

                                                                      

    

       자바 필드 초기화 법 : 초기화 블록, 모두는 또한 필드의 초기 값을 설정 자바 클래스의 생성자를 가질 때, 최종 출력의 값은, 그것을 판단해야 할 때 새에 의해 새로운 개체의 건설 . 그 값은 초기화 블록의 초기 값과 원래 클래스 생성자 내부 필드에 상관없이, 그에게 할당된다. 생성자 함수에서 해당 변수에 대한 지정이없는 경우. 이어서 가변 크기의 값은 초기화 블록의 초기 값에 의존한다 누가 문제의 분야를 설정. 변수에 할당 된 마지막 값에 뒤에 누구. 코드를 작성하지 않는 사실, 당신은 필드가 한 번만 초기화 될 수 있도록 노력해야한다.

 

 

  

            静态初始化块的执行顺序:                                                                                                                                                                                                                                                                                    (1)静态初始化块只执行一次。
  (2)创建子类型的对象时,也会导致父类型的静态初始化块的执行。

 

 1 package cn.demo8;
 2 
 3 
 4 public class Testtttt{
 5     int a = 2;//实例变量
 6     static int  b = 3;//类的静态变量
 7     public static void variable()//静态方法
 8     {   
 9         System.out.println("实例变量a = " + new Testtttt().a);
10         //在静态方法中访问类的实例变量需首先进行类的实例化
11         
12         System.out.println("静态变量b = " + b);
13         //在静态方法中可直接访问类的静态变量
14     }
15      public static void main(String[] args) 
16      {
17          Testtttt.variable();
18          Testtttt test = new Testtttt();
19          System.out.println("结果是 :实例变量 = " + test.a);//访问实例成员
20     }
21 }

 

 

 

 五

 

 

 

 

package cn.demo8;


public class Testtttt
{

    
    public static void main(String[] args)
    {

        
        Integer i1=100;
       
        Integer j1=100;
        
        System.out.println(i1==j1);

        
        Integer i2=129;
        
        Integer j2=129;
        
        System.out.println(i2==j2);
    
    }


}

 

 

 

nteger=100; 实际上调用的是Integer.valueOf(int i);
因为从-127到128之间的Integer数,Java在Integer中有事先缓存好的原型对象,每次返回的都是同一个Integer对象,只有不在这个范围的数才会新创建出一个Integer,最后所指都不是同一个对象,所以比较的不是同一个对象。

 

추천

출처www.cnblogs.com/Aming-/p/11701271.html