1.如何理解java方法参数传递的对象引用是按值调用而不是引用调用?
2.为什么不能用 import java.*导入多个包?是规定还是什么理由?
3.
关于划红线句子中的两个问题,1).super不是指向父类对象吗?为什么说不是一个对象的引用?
2).super不是还有可以访问父类域的用途吗?
2.为什么不能用 import java.*导入多个包?是规定还是什么理由?
3.
关于划红线句子中的两个问题,1).super不是指向父类对象吗?为什么说不是一个对象的引用?
2).super不是还有可以访问父类域的用途吗?
引用传递:指在调用函数时将实际参数的地址传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。
https://blog.csdn.net/zzp_403184692/article/details/8184751
你需要弄清楚java中变量是什么,首先java中有几个基本类型,比如int型,double型,,,这些数据类型的变量就是它本身,那个变量的名称可以理解为就代表了那个内存中的数据,所以函数调用会拷贝一份,因此在函数中改变不了这个变量的值。但对于java中的对象,就不同了。比如:Date date = new Date(); 这里的date是一个变量,但是它就是这个对象吗?并不是,它只是一个标签(类似python),或者称一个指针(类似C),大家也成它是这个对象的引用(但这里的意思并不是说是C++中的引用),实际上它储存了那个真正对象内存的地址,date就是一个地址,所以函数调用时虽然是按值传递,但是拷贝的是地址,所以函数中的date也还是指向了那个对象,所以就可以改变那个对象了,但是它因为是按值传递,所以还是不能改变date的值,也就是这个地址它改变不了。不知道说的理解不理解?问题2:这个就是一规定,好处就是让你少些点代码,减轻工作量,看起来更简洁。问题3:super是一个关键字,书中已经说的很清楚了。用途就是上面的两个方法,没有什么需要多说的,因为为什么要这个关键字这本书中已经说得很清楚了。祝学习进步!
第二点:这是规定。