zoukankan      html  css  js  c++  java
  • java初始化与清理

    初始化与清理

    欢迎转载,转载烦请注明出处,谢谢。

    https://www.cnblogs.com/sx-wuyj/p/11177257.html

    1.用构造器确保初始化

    • java中通过提供构造器,可以确保每个对象都得到初始化.创建某个对象时,如果该对象具有构造器,java就会在用户有能力调用该对象之前自动调用该对象的构造器,从而保证了初始化的进行.

    • 构造器的命名:
         1. 因为取的任何名字都有可能与类的某个成员名称冲突.
         2. 必须让你编译器知道应该调用哪一个方法.
      所以构造器的命名和类名相同.在初始化期间要自动调用构造器.

    class Rock{
        Rock(){
            System.out.println("这是一个构造器")
        }
    }  
    

    由于构造器的名字和类名完全相同,所以每个方法首字母小写的编码风格并不适用于构造器.

    • java当中有两种形式的构造器
        1. 无参构造器:也叫默认构造器.很多时候我们在定义某个实体类时并没有去编写构造器,但是对象依旧被初始化了,正是因为无参构造器的存在.
       class Rock{
           Rock(){
               System.out.println("这是一个无参构造器")
           }
       }
    

            1. 有参构造器:可以指定如何创建对象,可以在初始化对象时提供实际参数.参数可以是一个,也可以是参数.以下两种都是可以的.

       class Rock{
           Rock(int i){
               System.out.println("这是一个有参构造器")
           }
    
           Rock(int i,String str){
               System.out.println("这同样也是一个有参构造")
           }
       }
    

    需要注意的是,构造器可以重载.另外如果没有定义构造器,那么java就会为我们创建一个无参构造器;如果定义了具体的构造器,那java就不会再为我们创建无参构造器,此时如果需要无参构造器那就需要我们手动创建了.正是因为会默认创建一个无参构造,所以确保了对象的初始化.

    2. 方法重载

    • 2.1 区分重载方法
      每个重载方法都拥有独一无二的参数列表,可以根据参数的个数区分,甚至参数列表的顺序也可以用来区分重载方法,但是不建议这么做,不利于程序的后期维护.
    • 2.2涉及基本类型的重载
      如果传入的数据类型小于方法中声明的参数类型,实际数据类型就会被提升.
      如果传入的数据类型大于方法中声明的参数类型,就必须强制类型转换大类型转为小类型,不然编译器就会报错
    • 2.3 以返回值区分重载方法
      首先说明这种方式是错误的
    class{
    
           method();  
           method(int x){
               return x;
           }
    
          int x = method(1);
        }
    

    这种情况下是可以的,可我们有时候并不关心方法的返回值是什么,比如method(); 这时候java应该调用哪个方法呢,所以以这种方式来区分方法重载是行不通的.

    • 2.4 this关键字
      this表示调用方法的对象的引用,this只能用在方法内部.
    • 2.5 清理:终结处理和垃圾回收
      • 对象可能不被垃圾回收
        只要程序没有濒临存储空间用完的那一刻,对象所占的空间总也得不到释放.制止程序运行结束,垃圾回收也一直没有释放你创建任何对象的存储空间,随着程序的退出,这些资源也将交由系统.因为垃圾回收本身也有开销,要是不使用他,就不需要支付这部分的开销.
        2.5.1 finalize()的用途
        finalize()主要用于通过某种创建对象以外的方式创建了对象,这种特殊情况主要是发生在使用了本地方法的情况下,本地方法是一种在java中调用非java代码的方式.
  • 相关阅读:
    【转】数学题目大集合
    hdu3534,个人认为很经典的树形dp
    GYM
    HDU
    POJ
    POJ
    POJ
    set的经典应用
    天梯赛训练1 7-9 集合相似度
    天梯赛训练1 7-8 查验身份证
  • 原文地址:https://www.cnblogs.com/sx-wuyj/p/11498079.html
Copyright © 2011-2022 走看看