我是靠谱客的博主 不安唇彩,最近开发中收集的这篇文章主要介绍java 定义别名_Java 方法调用别名 与 内存分配 问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

刚学Java不久,遇到几个问题,想不明白,请教各位大大,见笑了!classsLetter{charc;}publicclassPassObject{staticvoidf(Lettery){y.c='z';}publicstaticvoidmain(String[]args){Let...

刚学Java不久,遇到几个问题,想不明白,请教各位大大,见笑了!

classs Letter{

char c;

}

public class PassObject{

static void f(Letter y){

y.c = 'z';

}

public static void main(String [] args){

Letter x = new Letter()

x.c = 'a';

print("1: x.c:" + x.c);

f(x);

print("2: x.c:" + x.c);

}

}/* Output:

1: x.c: a

1: x.c: z

*/

________________________________________________

public class EqualsMethod{

public static void main(String [] args){

Integer n1 = new Integer(20);

Integer n2 = new Integer(20);

System.out.println(n1.equals(n2));

}

}/* Output:

true

*/

________________________________________________

class Value{

int i;

}

public class EqualsMethod2{

public static void main(String [] args){

Value v1 = new Value();

Value v2 = new Value();

v1.i = v2.i = 60;

System.out.println(v1.equals(v2));

}

}/* Output:

false

*/

________________________________________________

我的疑惑:

在第一段代码中

①对"c"的调用是不是一定要采用*.c的方式;

②方法f(Letter y)的参数列表是什么意思?我只明白f(int y),表示可以传一个变量一进来,且类型为int类型,可是这里Letter为一个类,我就不明白了;

③f(x);语句我不明白,此处"x"为一个对象引用,将他传入方法f()里,那么方法f()是不是就变成x.c = 'z'这样了呢?

在第二段代码中

我很容易理解“n1.equals(n2)”代表的是比较n1与n2的实际内容的值,而非引用地址。

在第三段代码中

我就不明白了,为什么不想等了呢?

________________________________________________

希望有大大能帮我分析一下 第一段代码 以及 第三段代码的方法调用及赋值是怎样进行的,以及他们的内存分配是怎样的。

阿莉丫哆菓咋一玛斯!!!

展开

最后

以上就是不安唇彩为你收集整理的java 定义别名_Java 方法调用别名 与 内存分配 问题的全部内容,希望文章能够帮你解决java 定义别名_Java 方法调用别名 与 内存分配 问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部