Java面向对象习题

提示:JAVASE面向对象习题


一、概念理解

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

1. 以下描述成员变量和局部变量的区别正确的是()

A、成员变量作为类的成员直接声明在类中,可以通过this引用
B、局部变量可用在方法定义中或声明上
C、成员变量有默认值初始化
D、局部变量必须正确声明初始化后才可使用
【参考答案】: ABCD
【您的答案】: ACD

2.判断:静态成员既可以通过对象名来访问,也可以通过类名直接访问它。

A、对
B、错
【参考答案】: A
【您的答案】: B
类名.静态成员 对象.静态成员

3.下面把方法声明为抽象方法正确的是?

A、public abstract method();
B、public abstract void method();
C、public abstract void method(){}
D、public void method() extends abstract;
【参考答案】: B
【您的答案】: C
抽象方法无方法体时不需要大括号

4.下面关于外部类和内部类成员的相互访问的规则中,正确的选项是( )

A、成员内部类可以直接访问外部类的成员
B、外部类可以直接访问成员内部类的所有成员
C、外部类不能访问成员内部类的任何成员
D、外部类可通过创建成员内部类的实例来访问成员内部类的成员
【参考答案】: AD
【您的答案】: AC

4.外部类访问内部类
外部类可以通过创建成员内部类实例来访问成员内部类中的属性和方法
参考:https://blog.csdn.net/chunchunlaila/article/details/107224708

二、代码分析

1.第一题

编译运行如下Java代码,输出结果是( )。

class Base {

	public void method(){

	System.out.print ("Base method");

	}

}

class Child extends Base{

	public void methodB(){

	System.out.print ("Child methodB");

	}

}

class Sample {

	public static void main(String[] args) {

	Base base = new Child();

	base.methodB();

	}

}


ABase method
BChild methodB
CBase method Child MethodB
D、编译错误
【参考答案】: D
【您的答案】: B

创建的是父类对象,如果要用子类方法需要向下转型。

2.第二题

如下Java代码运行的结果是( )

public class Test {

final int age;

public Test(){

age=10;

}



public static void main(String[ ] args) {

System.out.println(new Test().age);

}

}


A0
B10
C"null"
D、运行时出现异常
【参考答案】: B
【您的答案】: A

被final修饰的变量
1.在定义时直接赋值
public class Test {public final String str = “mark”;
}
2、声明时不赋值,在构造方法中进行赋值
public class Test {public final String str;public Test() {this.str = “mark”;}
}
3、声明时不赋值,在构造代码块中进行赋值
public class Test {public final String str;{this.str = “mark”;}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值