问题 1 / 10
-
A
类是对象的实例
-
B
对象是类的实例
-
C
类和对象是同一个概念
-
D
一个类只能创建一个对象
解析
对象是类的实例。类是对象的模板或蓝图,定义了对象的属性和行为。通过类可以创建多个对象,每个对象都是该类的一个实例。
-
A
class
-
B
new
-
C
object
-
D
create
解析
在Java中,使用new关键字来创建对象。语法格式为:类名 对象名 = new 构造方法();
-
A
构造方法名必须与类名相同
-
B
构造方法没有返回类型
-
C
构造方法可以重载
-
D
构造方法可以有返回值
解析
构造方法不能有返回值,甚至不能声明为void。构造方法的作用是初始化对象,它在对象创建时自动调用。
public class Counter {
private static int count = 0;
public Counter() {
count++;
}
public static int getCount() {
return count;
}
}
// 主方法中
Counter c1 = new Counter();
Counter c2 = new Counter();
System.out.println(Counter.getCount());
解析
静态变量count属于类,被所有对象共享。每次创建对象时,构造方法都会执行count++,所以创建两个对象后,count的值为2。
-
A
封装就是把所有属性都设为public
-
B
封装是将数据和操作数据的方法结合在一起
-
C
封装不允许外部访问对象的任何信息
-
D
封装只适用于方法,不适用于属性
解析
封装是面向对象编程的重要原则,它将数据(属性)和操作数据的方法结合在一起,并隐藏内部实现细节,只暴露必要的接口。
-
A
public
-
B
protected
-
C
default(包访问权限)
-
D
private
解析
private提供了最严格的访问控制,只有在同一个类内部才能访问private成员。这是实现封装的重要手段。
-
A
静态方法可以直接访问实例变量
-
B
静态方法只能通过对象调用
-
C
静态方法可以通过类名直接调用
-
D
静态方法可以被重写
解析
静态方法属于类,可以通过类名直接调用,不需要创建对象。静态方法不能直接访问实例变量,也不能被重写。
-
A
public void getName() { return name; }
-
B
public String getName() { return name; }
-
C
public String getName(String name) { return name; }
-
D
private String getName() { return name; }
解析
正确的getter方法应该是public的,有返回值(返回对应属性的类型),不接受参数,方法名以get开头。
-
A
编译错误
-
B
自动提供一个默认的无参构造方法
-
C
不能创建该类的对象
-
D
运行时错误
解析
如果一个类没有定义任何构造方法,Java编译器会自动提供一个默认的无参构造方法。但是,一旦定义了任何构造方法,Java就不会再提供默认构造方法。
-
A
this代表当前对象的引用
-
B
this可以用来区分实例变量和参数
-
C
this可以在静态方法中使用
-
D
this可以调用当前类的其他构造方法
解析
this关键字不能在静态方法中使用,因为静态方法属于类,不属于任何特定的对象实例。this代表的是当前对象的引用,而静态方法中没有当前对象的概念。