您的位置:首页 > 编程语言 > Java开发

JavaSE复习_2 对象与类

2016-06-10 21:35 232 查看
△java中的制表符.'\t'制表符."\t"也可以.
△方法内不能再定义一个方法,互相平级.
△数组中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
△构造代码块每创建一次对象,就会执行一次.而且是优先于构造函数执行.静态代码块优先于主方法执行.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: