zoukankan      html  css  js  c++  java
  • 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]

  • 相关阅读:
    实现随机颜色
    为网站实现一个验证码
    vue.js帐号,密码,邮箱和移动手机号码正则验证
    从网址中截去主机名和参数
    vue.js判断网址参数是否有效
    创建windows service
    vue.js axios call api example
    vue.js mouse over change the image
    jQuery接收url的参数
    ms sql server排序
  • 原文地址:https://www.cnblogs.com/alisonGavin/p/6947385.html
Copyright © 2011-2022 走看看