zoukankan      html  css  js  c++  java
  • [Thinking_in_Java] 初始化与清理 —— initialize

     初始化与清理 —— initialize

    1 构造器是一种特殊的类型,因为它没有返回值,而且在后面会知道,所有的构造函数可以把它理解为特殊的静态方法(the constructor is actually a static method.)。

      如果你是在类被加载的时候看待,那么它是static的。因为在JVM加载类时首先会初始化static属性为默认值,在这里构造器会被调用。
      如果你是在创建对象的时候看待,那么它不是static的,构造器在里就如对象引用调用成员方法一样。类名后的这个括号“()”就表示调用构造器。如果没有定义构造器,编译器会默认创建一个无参的构造器。

     

    2 方法调用时,如果传入的数据类型小于方法中声明的形式参数类型,实际的数据类型会被提升。换句话说:字节数小的数据类型向最接近其字节数的类型转换

    boolen->char->byte->short->int->long->float->double

    如果传入的数据类型大于方法中声明的形式参数类型,必须强制将字节数大的数据类型转换成字节数小的数据类型。

    3 重载只能以类名和方法的形参列表作为区分标志

    根据方法的返回值来区分重载方法是灰常不靠谱的。

    4 this

    this和js一样,表示是对当前对象的引用。this只能在方法内部使用。

    5 static方法

    static方法内部不能调用非静态方法,但是非静态方法可以调用static方法。

    static和类相关,所以可以在没有任何对象的前提下,仅仅通过类本身来调用static方法。

    static方法是没有this的方法。

    6  轮不到你用finalize()

    7 垃圾回收的机制

      引用计数

      标记-扫描  && 停止-复制

    8 类的初始化顺序

      静态成员->普通成员->静态方法->构造器

  • 相关阅读:
    Java学习
    Java学习
    Java学习
    Java学习
    Java学习
    Java学习
    Java学习
    springboot之RabbitMQ
    IIS自动发布脚本
    存储器
  • 原文地址:https://www.cnblogs.com/yingzi/p/2801101.html
Copyright © 2011-2022 走看看