对象使用求解惑。
对象使用时,下面描述错误的是( )
A.通过“.”运算符调用成员变量和方法
B.通过成员变量的访问权限设定限制自身对这些变量方法的调用
C.将一个对象申明为类的成员时,必须在使用前为其分配内存
D.在方法中使用对象作为参数时,采用引用调用
请把各个答案解释下,谢了恩。。。
------解决方案--------------------a、正确的因为我们使用是都是通过、来获取其方法和属性
b、设置变量的修饰符在本类里面可以随意调用,都是在其他类里面是根据修饰符来调用的,所有这个有点不清楚!!!
c、不正确因为我们声明是不用给你内存的
d、不正确java中只有值传递
------解决方案--------------------a.属性和方法都可直接用.来调用这一个毋庸置疑
b.通过成员变量的访问权限设定限制别的对象对自身成员变量的访问权限的,这是错的
c.对的,当你把这个类设置成成员变量时,就在栈内为这个对象分配内存
如: private Person person;
栈内就会 分配一个 person:xxx 来指向new出来的堆内存
d.对的,基本类型(8种:boolean/char/byte/short/int/long/float/double)的都是值传递:,使用对象作为参数时,即是引用,基本类型是复制一份来用,原值不变,而对象传递是直接在原有的基础上修改,原来的值已改变
------解决方案--------------------A.通过“.”运算符调用成员变量和方法
正确
(严格来讲有语法错误,一般调用都是指调用方法,成员变量说访问)
B.通过成员变量的访问权限设定限制自身对这些变量方法的调用
错误。
解释:不知道自身指的是谁,什么狗屁问题,如果指成员变量所在对象的话明显不正确,成员变量的作用域本身就是整个类,访问权限只是用来限制别的对象对他的访问的
C.将一个对象申明为类的成员时,必须在使用前为其分配内存
错误
解释:(1)应该是声明不是申明
(2)问的问题很奇怪,不知道是故意这么说,还是讲的不够准确,有没有分配内存主要看有没有创建对象,内存是在创建对象时分配的,其他地方使用只是指向对象的内存地址,不是在声明时分配内存。
D.在方法中使用对象作为参数时,采用引用调用
正确
严格讲也不对,采用的主语是谁?根本读不通
正确的说法是:
如果A调用B,B的参数是对象,那么A向B传递的是引用,如果参数是基本类型,那么传递的是值。