Java классы 03

       Причина: Если класс содержит метод построения пользовательских, заставит систему больше не предоставлять конструктор по умолчанию        

 

два

                                                                      

    

       поле Java инициализируется закон: Когда оба блока инициализации, есть конструктор в классе Java также задать начальное значение поля, то значение конечной продукции должно судить, когда строительство новых объектов, новым , Его значение присваивается ему, независимо от исходного значения в блоке инициализации и полей внутри исходного конструктора класса. Если нет никакого присваивания для соответствующих переменных в функции конструктора. Тогда значение переменного размера зависит от начального значения блока инициализации и кто устанавливает поля вопроса, кто должен. Кто отстает от последнего значения, присвоенного переменной. На самом деле не писать код, вы должны стремиться к тому, что поле инициализируется только один раз.

 

три

 

  

            静态初始化块的执行顺序:                                                                                                                                                                                                                                                                                    (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
рекомендация