您的位置:首页 > 其它

学习笔记(二)

2015-11-19 20:31 232 查看
第四章 控制执行流程

1、标签

  Java里需要使用标签的唯一理由就是因为循环嵌套的存在,而且想从多层嵌套中break,comtinue。

第五章 初始化与清理

1、初始化

  创建对象分配空间,调用构造器初始化。Java中,初始化和创建捆绑在一起,不能分离。

2、方法重载

  同名,参数类型、个数不同。不建议根据返回值类型进行重载。

3、默认构造器

  如果类中没有定义构造器,则编译器会自动帮你创建一个默认构造器(无参构造器)。

  如果类中定义了构造器,无论那种类型,编译器都不会再构造默认构造器。

4、this关键字 

<span style="font-family: Arial, Helvetica, sans-serif;">Class Demo{</span><pre name="code" class="html"> void add(int i){
}
在main()方法中调用
Demo demo1=new Demo();
Demo demo2=new Demo();
demo1.add(i);
demo2.add(i);

     编译器的内部形式是: 

add(demo1,1);
add(demo2,1);      this关键字只能在方法内使用,表示对“调用方法的那个对象”的引用。
  1)在构造器中调用构造器

class Flower{
int a,b,c;
  Flower(int a,int b){
... }
Flower(int a,int b,int c){
this.Flower(a,b);
this.c=c;
}
}          this只能调用一个构造器,不能调用两个。而且必须放在最上面。
   2)static的含义

   static方法就是没有this的方法。在static方法的内部不能调用非静态方法,反过来是可以的。

   static的方法用途很想全局方法,但是Java禁止使用全局方法,但你在类中置入static方法就可以访问其他的static方法和static域。

5、清理

  1)垃圾回收器只知道释放那些有new分配的内存。

  2)对于特殊情况,Java允许在类中定义一个finalize()的方法。

    原理是:一旦垃圾回收器准备好释放对象占用的存储空间,将首先调用finalize()方法,并且在下一次垃圾回收动作发生时,才会真正回收对象占用的内存。

  3)对象可能不被垃圾回收;垃圾回收并不等于析构。垃圾回收只有内存有关。

6、垃圾回收的工作原理

  1)其他系统

    引用计数,当对象的引用计数值为0,就对其进行回收。

  2)Java采用自“适应、停止-复制、标记-清扫”式垃圾回收器

    停止-复制:先暂停程序的运行,将所有存活的对象从当前堆复制到另一个堆(引用修正),没有复制的就全是垃圾。并且新堆中,它们更加紧凑。

    标记-清扫:在没有新的垃圾产生,则转换到这种模式。从堆栈和静态存储区出发,遍历所有引用,找出所有存活的对象,进行标记。未被标记的清扫。

7、成员初始化

  1)变量定义的顺序决定了初始化的顺序

  2)先静态对象,再非静态对象

8、数组初始化

  如果创建的是一个非基本类型的数组,那么你就创建了一个引用数组,赋值给引用后,初始化才算结束。

9、枚举类型

  1)枚举是个类

  2)例子   

public enum Spiciness{
NOT,MILD,MEDIUM,HOT,FLAMING
}
使用:
for(Spiciness s:Spiciness.values()){
s.ordinal();
}


第六章 访问权限控制

    访问权限   类   包  子类  其他包

    public       ∨    ∨    ∨       ∨

    protect     ∨    ∨    ∨        ×

    default     ∨    ∨     ×         ×

    private     ∨    ×      ×         ×

   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: