• 1- java参数传递


    1. 参数传递的方式

             a).传值 

           b).传址 

      传值,只是传递值的copy
      传址,只是传递地址的引用,可以修改引用所对象的变量值


      其传递参数的结果:
        1).对值参数的修改没有保留下来
        2).对对象参数的修改保留下来
        3).交换对象参数的结果没有保留下来

      对象引用进行的是值传递
        1). 一个方法不能修改一个基本数据类型的参数
        2). 一个方法可以改变一个对象参数的状态
        3). 一个方法不能让对象参数引用一个新的对象

      

    2. 重载与重写
      重载,方法相同,参数不同,类型或者参数个数,类型的顺序不同,都可以,与返回值类型无关。
      重写,方法的声明相同,方法的实现不同,一般在子类实现接口,重写接口的抽象方法。
      注意;构造器能重载,不能重写。
        不能有两个名字相同、参数类型和个数都相同的,返回值不同的方法。

    3. 默认域初始化
      实例域或者静态域 都可以默认初始化
      初始化: 数值=0 ; 布尔值=false; 对象引用= null

    4. 无参构造函数   

      做的事情,1).会为实例域设置默认值,不是静态域   

      1). 特点:

    • 类至少有一个构造函数,没有构造函数,则会默认提供一个无参数的构造函数
    • 有构造函数,且不是无参构造函数,系统不会默认提供无参构造函数
    • 构造函数之间的调用this(...)


    5. 参数名
      区分实例域与局部参数,可以使用this.参数名= 参数名

    6. 调用另一个构造器
      方法:this(...), super(...)
      this(...)调用本类的构造函数
      super(...)调用父类的构造函数
      tihs(),与super()必须放在构造函数的第一行,不能同时存在

    7. 初始化块
      初始化数据域的方法

    • 在构造器中设置值
    • 在声明中赋值
    • 初始化块赋值
    整理“父构造函数”,“父初始化块”,“父静态块/域”,“子构造函数”,“子初始化块”,“子静态块/域”加载顺序
    按照从先到后: 
      1. 父静态块/域   -->  2.子静态块/域   ----> 3.子初始化块   -->↓
      6. 子构造函数    <--  5.父构造函数   <----  4.父初始化块   <---
    

        注意: 域初始化语句和初始化块的执行顺序,按照在类声明中出现的次序

    8. 对象析构与finalize
       java不支持对象析构,
       finalize的意思:将在垃圾回收器清除对象之前调用,但是不会立即

    •     (1).对象不一定会被回收。
    •        (2).垃圾回收不是析构函数。
    •        (3).垃圾回收只与内存有关。
    •        (4).垃圾回收和finalize()都是靠不住的,只要JVM还没有快到耗尽内存的地步,它是不会浪费时间进行垃圾回收的。



    参考 Java finalize方法使用[http://blog.csdn.net/carolzhang8406/article/details/6705831]

  • 相关阅读:
    -Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.
    map合并,相同键对应的值相加
    oracle截取字符串去掉字段末尾指定长度的字符
    springMVC结合AjaxForm上传文件
    hibernate中指定非外键进行关联
    Maven安装及MyEclipse中使用Maven
    js判断字符串出现的次数
    PL/SQL如何调试sql语句、存储过程
    如何让pl/sql developer记住密码,实现快速登录
    【学亮IT手记】jQuery each()函数用法实例
  • 原文地址:https://www.cnblogs.com/alisonGavin/p/6947385.html
Copyright © 2020-2023  润新知