zoukankan      html  css  js  c++  java
  • java学习(这两天在看线程,进程,和传值参数看的没有思路不知道写什么,今天有点就写点)

      关于java传值的一点小细节:java语言中对象传递地址,而不是引用。

    例如:假设对象Test有name的属性。

      public void call(Test){

      Test t2 = new Test();

      t2.setName("cba");

      t.setName("abc");

      t=12;

    }

    public static void main(String[] arg){

    Test obj = new Test();

    call(obj);

    System.out.println("obj"+obj.get(Name));

    }

    输出结果是abc,而不是cba,原因:在两个声明变量obj,t中,它们指向同一个地址,调用call方法,只是将obj指向的地址传递给了t,而obj本身并没有传递过去(也就是没有传递引用),当你重新赋值的时候(也就是将对象引用指向其他储存空间),等于只影响了t,而没有影响obj。

    (==引用自csdn faintbear)

    这句话翻译的挺好的:

      局部变量必须在所有导致使用它的路径上被显式初始化。

    举例:局部变量public class order {

      public double call (double quantity){

    double x;

    if(quantity>=0){

    x=quantity;

    } return x;

    }

    }

    java程序会报错,就是因为quantity《0时会返回x,但是局部变量x是不会被默认值为0.0的,所以返回的x属于未初始化状态,因此报错。

  • 相关阅读:
    172. Factorial Trailing Zeroes
    96. Unique Binary Search Trees
    95. Unique Binary Search Trees II
    91. Decode Ways
    LeetCode 328 奇偶链表
    LeetCode 72 编辑距离
    LeetCode 226 翻转二叉树
    LeetCode 79单词搜索
    LeetCode 198 打家劫舍
    LeetCode 504 七进制数
  • 原文地址:https://www.cnblogs.com/TheTop1/p/8887218.html
Copyright © 2011-2022 走看看