zoukankan      html  css  js  c++  java
  • JavaSE复习_2 对象与类

    △java中的制表符.' '制表符." "也可以.
    △方法内不能再定义一个方法,互相平级.
    △数组中boolean类型的变量默认为false;char默认为'u0000'(u是unicode 的一种标识,标识16进制)
    △int [ ]a=new int[4]{1,2,3,4};非法
     int [ ]a=new int[]{1,2,3,4};合法
       int [ ]a=new int[]{1,2,3,4};可以在不同行,先声明,后赋值如:
      int [ ]a;
      a=new int[ ]{1,2,3,4};
      int []b={1,2,3,4}只能在同一行,不能先声明后初始化.
       静态初始化: 程序员在初始化数组时为数组每个元素赋值;
       动态初始化: 数组初始化时,程序员只指定数组的长度,由系统为每个元素赋初值
    △Java中包含的是整个程序中需要保持唯一的元素,比方说.class,还有静态变量.方法和类一起存储于方法区中
    △如果给出了构造函数,系统不再提供默认的构造函数 
    △Java中的对象中的方法是能够访问任何同一类的对象的私有变量的.
    △声明一个对象的步骤:
       1.将class文件加载进内存
       2.声明一个引用
       3.堆内存中创建对象,并进行默认初始化.
       4.成员变量进行显示初始化
       5.构造方法进栈.进行构造代码块初始化然后构造方法初始化随后构造方法弹栈
       6.将对象的地址值赋值给引用变量
    △静态变量和方法均存在于方法区中.
    类加载顺序:方法只有调用才会加载.因此
    public   class   Parent   { 
    //第零步,首先定义iz,iy两个变量,并初始化为0(因为是int类型,如果是对象则为null)
    private   static   int   iz   =   getNext(2); //第一步,因为有方法调用,所以转到方法,即第二步
    private   static   int   iy=99; //第三步
     
     
    //静态初始化块 
    static //第四步
    { 
    System.out.println("parent的静态初始化块"); 
    System.out.println(iz); //这里因为第二步,iz=3
    System.out.println(iy); //这里因为第三步,iy=4
    } 
     
     
     
    public   static   int   getNext(int   base) //第二步,方法调用
    { 
    System.out.println("parent的static   int   getNext(int   base)被调用"); 
    System.out.println(iy); //iy初始化为0
    System.out.println(iz); //iz初始化也为0,这里就说明先走变量定义,对于int类型,初始化为0
    return   ++base; 
    } 
     
    public   static   void   t() //这里没有执行,这就说明了,方法不调用,就不会被加载,所以如果第一步不调用getNext方法,第二步就不会执行,就会直接到第三步
    { 
    System.out.println("parent的static   void   t被调用"); 
    System.out.println(iz); 
     
    } 
     
    }
    1.方法区又叫静态区,跟堆一样,被所有的线程共享。方法区包含所有的class和static变量。
    2.方法区中包含的都是在整个程序中永远唯一的元素,如class,static变量。
    △默认的或者私有的类无法生成javadoc
    △构造代码块每创建一次对象,就会执行一次.而且是优先于构造函数执行.静态代码块优先于主方法执行.
    加油
  • 相关阅读:
    什么是线程池?
    线程包括哪些状态?状态之间是如何变化的?
    C语言中的文本流与二进制流的区别
    Windows+IIS结合LVS+Keepalived是实现Linux负载均衡软件
    Linux中的lo回环接口详细介绍
    Keepalived原理与实战精讲
    分布式文件系统MFS(moosefs)实现存储共享(第二版)
    C语言缓冲区(缓存)详解
    Android如何防止apk程序被反编译
    Android APK反编译详解(附图)
  • 原文地址:https://www.cnblogs.com/hlhdidi/p/5574300.html
Copyright © 2011-2022 走看看