第二周 预习:Java基本语法2、面向对象入门

对于如上代码:

1.1 changeStr与changeArr的功能各是什么?

答:changeStr将字符串x修改为xyz;changeArr将字符串中的strs[i]修改为strs[i]i。


1.2 main方法的x有没有被改变?为什么?

答:没有。因为 String x 是对 main 中 x 的拷贝,不是 main 中的 x ,因而没有改变 main 方法中的 x。


1.3 main方法的args数组的内容有没有被改变?为什么?

答:没有。因为 args数组 没有进行初始化。


1.4 args数组中的值是从哪里来的?要怎么才能给他赋值。

答:可以通过输入,或者直接在代码上赋值。

2. 数组相关问题

 

2.1 输出结果是什么?为什么?

答:[2,1,0]

       [2,1,0]

      由于 int[] arrX=arr可知,arrX数组与arr数组一致,因而它们的输出相同。且由于使用数组的动态初始化会默认给数组赋值,所以会出现arr[3]=0。 

 

2.2 字符串是不可变类,为什么可以对strArr[1]赋值"xx"。

答:因为引用可以改变。

3. 使用int[5][] 定义一个二维数组,其第二维到底有多长?尝试补全代码,然后使用foreach获其他循环方法遍历这个二维数组?

答:第二维长度可以自定义

4. 类与对象的区别是什么? Math类有对象吗?String类有什么属性是private的,有什么方法是public的,为什么这样设计(尝试举两例说明)?

答:1、对象是对客观事物的抽象,对象是类的实例;类是对对象的抽象,类是一种抽象的数据类型,类是对象的模板。

        2、Math类没有对象。

        3、final  byte coder等为private,equals为public

5. 将类的属性设置为public可以方便其他类访问,但为什么Java中普遍使用setter/getter模式对对象的属性进行访问呢?这与封装性又有什么关系?

答:为了防止其他使用者在非我们允许时访问数据,保证了对象数据的安全性。

6. 对象的属性可在什么时候进行初始化?都有哪些进行初始化的办法?

答:在准备使用之前初始化;声明该属性的时候初始化、构造方法中初始化、初始化块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值