Day42--练习--选择题
Day42--练习--选择题
以下是做错的题目
题目3:
创建一个名为Person的类,类中有一个私有属性name(类型为String),定义一个公有的get方法来获取这个属性的值,方法的代码框架如下:
public class Person {
private String name;
public ____ get() {
return name;
}
}
解析:
JavaBean 规范相关知识
在 Java 编程中,遵循 JavaBean 规范是一种常见的设计模式,尤其在编写类来封装数据以及对外提供访问这些数据的方法时经常用到。JavaBean 规范有以下一些特点和要求:
- 属性封装:通常将类的成员变量(属性)声明为私有(
private),这样可以对属性进行更好的封装,防止外部随意访问和修改,提高数据的安全性和类的可维护性。例如在Person类中,private String name;就是将name属性进行了私有声明。 get和set方法:为了能让外部类可以获取(get)和修改(set)私有属性的值,会提供对应的公有的get方法和set方法(如果属性是只读的,那就只提供get方法)。这些方法一般遵循特定的命名规则,get方法用于获取属性值,其命名通常是get加上属性名且属性名首字母大写(如果属性名为name,get方法名就是getName);set方法用于设置属性值,命名是set加上属性名且属性名首字母大写,同时set方法一般会带有一个与属性类型对应的参数,用于接收要设置的值。
2. 正确的get方法写法分析
对于Person类中的name属性,正确的get方法写法应该是:
public String getName() {
return name;
}
- 返回值类型:
因为要返回的是name属性的值,而name属性的类型是String,所以方法的返回值类型应该设置为String,这样调用这个get方法的地方就能接收到一个字符串类型的值,也就是name属性实际存储的值。 - 方法名:
按照 JavaBean 的命名规范,获取name属性的方法名应该是getName。这样的命名约定使得代码具有更好的可读性和可维护性,其他开发人员看到getName方法就能很清楚地知道这个方法是用来获取类中的name属性值的。 - 非静态方法特性:
这个getName方法是一个实例方法,它是与类的具体实例(对象)相关联的。因为它操作的是属于每个具体Person对象的name属性,不同的Person对象可能有不同的name值。在调用getName方法时,会隐式地传递调用它的那个Person对象的引用(通过this指针,不过在代码中一般不需要显式写出),从而能够准确地返回对应对象的name属性值。如果写成了静态(static)方法,就没办法直接访问属于实例的name属性了(静态方法是与类本身相关联,没有隐含的对象引用去访问实例变量),并且也不符合 JavaBean 规范中get方法作为实例方法去获取实例属性值的要求。
题目8:
创建一个ArrayList集合对象(ArrayList位于java.util包中),并向其中添加一个字符串元素“Java”,代码如下:
import java.util.ArrayList;
____ list = new ArrayList<>();
list.add("Java");
解析:
在 Java 中,ArrayList是一个动态数组类型,具有可以动态调整大小、方便地进行元素添加、删除、查询等操作的特点。
ArrayList<String>就表示这个ArrayList集合只能存放字符串类型(String类型)的元素。
正确的创建ArrayList集合对象并添加元素 “Java” 的代码是:
import java.util.ArrayList;
ArrayList<String> list = new ArrayList<>();
list.add("Java");
创建对象语法(使用菱形语法<>):
new ArrayList<>();这部分是创建ArrayList对象的语句

浙公网安备 33010602011771号