学习笔记(二)

转载 2015年11月19日 20:31:40

第四章 控制执行流程


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     ∨    ×      ×         ×



   



相关文章推荐

Kaldi决策树状态绑定学习笔记二

  • 2017年04月05日 14:30
  • 1.56MB
  • 下载

Caffe学习笔记(二)——AlexNet模型

深度学习笔记 1 LeNet-5 2 1.1 局限性 2 1.2 理解 2 2 AlexNet  2.1 结构介绍 4 2.1.1 ReLU非线性 4 2.1.2 在多个GPU上训练 4 2.1.3 ...

Stanford Unversity机械学习笔记(二)

  • 2015年09月30日 17:46
  • 5.25MB
  • 下载

字节流--IO学习笔记(二)

IO流: 包括字节流和字符流。在这里解释一下我对于流的理解,其实流就相当于一个用来运输字节或者字符的管道,一开始会把所有的数据存放到流中,然后我们再从流中取出数据(进行读取或者写出操作),每...

ASP.NET AJAX 实战 学习笔记(二)

  • 2009年05月19日 13:12
  • 44KB
  • 下载

UE4学习笔记(二): IOS游戏部署

自己的超级本挂了后, 一直没有电脑用正好

oracle 王二暖视频 学习笔记

  • 2016年03月10日 10:56
  • 1.07MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:学习笔记(二)
举报原因:
原因补充:

(最多只允许输入30个字)