JAVA的几个简单问题

2024-11-19 17:53:11
推荐回答(4个)
回答1:

几个好问题啊

1. x 这个题考的是重写,重写的方法在被调用时会根据参数额不同选择不同的版本,你给它传的是int型的,那么调用的就是method(int a)这个方法,如果你传给method一个string类型对象,那他调用的就会是
method(String b)这个方法

2.这个楼下说了,但是我想补充的是,你可以试试(a + " " + b),就是不想你误会成这个是个做加法的结果,他就是相当于三个字符串连接成一个整体,其中这个算式自动调用的Ineger类的 toString方法,把数值1变成了String“1”。

3.java是这样,不管你是对象还是变量(非成员),创建后都会在栈里生成一个引用,而在堆栈里实际去分配内存,所以你传参数时,传的都是引用,是栈里存储的一个地址,而这个地址指向了堆栈里的实际内容

回答2:

1、X
2、a+b显示结果5,类型为INT;a+""+b显示结果32,类型为STRING。这里存在强制数据类型转换INT->STRING
3、对象的属性集合。

回答3:

1,int没有赋值,默认为0,第一个打印0,调用的是method(int a),多态

2,拜托楼上,int强制转String是这样转吗?这里是隐式转换,其实你应该问 a + b + "";可能难度会大一点,a + b = 5,a + "" + b = 32 ,这个32是String,a + b + "" = 5, 不过这个5是String哈哈

3,对象是值传递!!!

回答4:

1.楼上能打印出0?会报错,i没有初始化
3.传递的是对象的引用(地址)