java基础知识题---2

一.单选题
1、以下代码执行后的结果是:( C )
public class Person {
String name = “小芳”;
public Person(String name) {
name = “小兰”;
}
public void show() {
this.name = “小翠”;
}
public static void main(String[] args) {
Person p = new Person(“小凤”);
System.out.print(p.name);
p.show();
System.out.print(p.name);
}
}
A、小兰小翠
B、小凤小翠
C、小芳小翠
D、程序编码失败

2、下列程序的运行结果是 D
class Demo{
private String name;
Demo(String name){this.name = name;}
private static void show(){
System.out.println(name)
}
public static void main(String[] args){
Demo d = new Demo(“lisa”);
d.show();
}
}
A、输出lisa
B、输出null
C、输出name
D、编译失败,无法从静态上下文中引用非静态变量name

3、class Person{
static{
System.out.println(name);
}
private static String name = “hello”;
}
class Demo{
public static void main(String[] args){
Person p = null;
}
}
下列选项中,程序的运行结果是(D)
A、无结果输出
B、输出null
C、输出hello
D、编译失败

4、请阅读下面的代码
class A{
int x;
static int y;
void fac(String s){
System.out.println(“字符串:”+s);
}
}
下列选项中描述正确的是(B )
A、x,y和s都是成员变量
B、x是实例变量,y是类变量,s是局部变量
C、x和y是实例变量,s是参数
D、x,y和s都是实例变量

5、class Demo{
Demo(){
}
}
上述代码中定义了一个Demo类,下列构造方法可以存在于Demo类中的是 (C )
A、public Demo(){}
B、private Demo(){}
C、Demo(int age,String name)(){}
D、Demo(){}

6、下面选项中不是面向对象的特征的是(D )
A、封装
B、继承
C、多态
D、重构

7、下列关于构造方法的描述中,错误的是(D )
A、构造方法的方法名必须和类名一致
B、构造方法不能写返回值类型
C、构造方法可以重载
D、构造方法的访问权限必须和类的访问权限一致

8、请阅读下面的程序代码,选择正确的运行结果( B)
Class Person{
void say(){
System.out.println(“hello”);
}
}
class Example{
public static void main(String[] args){
Person p2 = new Person();
Person p1 = new Person();
p2.say();
p1.say();
p2=null;
p2.say();
}
}
A、输出1个hello
B、输出2个hello后会抛出异常
C、输出3个hello后会抛出异常
D、不会输出hello,直接抛出异常

9、“隐藏对象的属性和实现细节,仅对外提供公有的方法”描述的是面向对象的哪个特征(A )
A、封装
B、继承
C、多态
D、以上都不是

10、下面哪个关键字用于将类中的属性私有化(C )
A、default
B、public
C、private
D、protected

11、使用this调用类的构造方法,下面的说法中错误的是(D )
A、使用this调用构造方法的格式为this([参数1,参数2…])
B、只能在构造方法中使用this调用其它的构造方法
C、使用this调用其它构造方法的语句必须放在第一行
D、在一个类的两个构造方法中可以使用this互相调用

12、当一个类中成员变量和局部变量重名时,可以使用哪个关键字进行区分(B )
A、super
B、this
C、public
D、true

13、下列关于构造方法的描述,错误的是(A )
A、一个类中只能定义一个空参数的构造方法
B、一个类中可以定义多个构造方法
C、如果在一个类中定义有参的构造方法,jvm就不会提供默认的无参构造方法
D、构造方法的作用是用来给属性进行初始化的

14、下列关于静态方法的描述中,错误的是( C)
A、静态方法属于类的共享成员
B、静态方法是通过"类名.方法名"的方式来调用
C、静态方法只能被类调用,不能被对象调用
D、静态方法中可以访问静态变量

15、下面关于构造方法的调用,正确的是(B )
A、构造方法在类定义的时候被调用
B、构造方法在创建对象的时候被调用
C、构造方法在调用对象方法时被调用
D、构造方法在使用对象的变量时被调用

二.判断题
1、在Java中判断方法重载的条件除了参数外,还可以通过返回值类型判断。 ×

2、定义一个方法时,其访问修饰符、返回值类型、方法名的顺序可以互换。 ×

3、如果在某一个方法中定义的局部变量与成员变量同名时,在该方法中通过变量名访问到的是成员变量。 ×

4、构造方法没有返回值类型,所以可以写void,也可以不写。×

5、封装就是隐藏对象的属性和实现细节,仅对外提供公有的方法。

6、在类中声明的变量称为成员变量,在方法中声明的变量称为局部变量。

7、私有属性只能在它所在类中被访问,为了能让外界访问私有属性,需要提供一些使用public修饰的公有方法。

8、当系统创建该类的实例时,系统自动为成员变量分配内存空间,并在分配内存空间后,自动为成员变量指定初始值。

9、构造方法重载后,在构造方法中可以使用this语句进行构造方法之间的调用,在重载的两个构造方法中可以使用this语句相互调用。×

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fy_1852003327

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值