Java-错题-2

文章讨论了Java代码的编译和运行情况,包括未初始化变量导致的错误、this和super关键字的用法、构造器的执行顺序、成员变量与局部变量的区别、封装的概念以及抽象类和抽象方法的特性。同时,提到了接口中的常量和类的继承问题。
摘要由CSDN通过智能技术生成

给定java代码,如下:编译运行,结果是()

public static void main (String [] args){

String s;

System.out.println("s="+s);

}

  • A、编译通过,但出现运行时错误
  • B、编译错误
  • C、正常运行,输出s=null
  • D、正常运行,输出s=

【参考答案】: B

分析选项中关于Java中this和super关键字的说法正确的是()

  • A、this关键字是在对象内部指代自身的引用
  • B、super关键字是在子类对象内部指代其父类对象的引用
  • C、this关键字和类关联,而不是和特定的对象关联                 //(和对象关联)
  • D、子类通过super关键字只能调用父类的方法,而不能调用父类的属性

【参考答案】: AB

【您的答案】: ABC

下列代码输出的结果是

class Db{

Db() {

int a=1;

System. out.println(a);

}

}

public class DbTest2 extends Db {

public static void main(String[] args) {

int a = 200;

DbTest2 d= new DbTest2() ;

System. out. println(a);

}

}

  • A、200
  • B、1
  • C、1 然后再换行输出 200
  • D、200 然后再换行输出 1

【参考答案】: C

【您的答案】: A

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

  • A、成员变量作为类的成员直接声明在类中,可以通过this引用
  • B、局部变量可用在方法定义中或声明上    //(形参 也是局部变量) 
  • C、成员变量有默认值初始化
  • D、局部变量必须正确声明初始化后才可使用

【参考答案】: ABCD

【您的答案】: ACD

关于封装下面介绍错误的是( )  //看清题

  • A、封装将减少代码间耦合
  • B、封装提高重用性
  • C、封装提高安全性
  • D、只有被private修饰才叫做封装

【参考答案】: D

【您的答案】: C

给定Java程序Child.java的代码如下所示,则编译运行该类的结果是( )。

class Parent {

  Parent() {

  System.out.println("parent");

}

}

public class Child extends Parent {

  Child(String s) {

  System.out.println(s);

}

public static void main(String[] args) {

  Child child = new Child("child"); 

}

}

  • A、child
  • B、child parent
  • C、parent child
  • D、编译错误

【参考答案】: C

【您的答案】: D

属性看左边 方法看右边

程序的执行结果是

class Db {

public void printValue() {

System. out. println("1");

}

public void printValue(int i) {

System. out . println("2");

}

}

public class Woman extends Db {

public void printValue() {

System. out. println("3");

}

public void printValue(int i) {

System. out . println("4");

}

public static void main(String[] args) {

Db d = new Woman( );

d. printValue(10);

}

}

  • A、1
  • B、2
  • C、3
  • D、4

【参考答案】: D

【您的答案】: B

下面结果正确的是( )

class Db{ 

String str; 

Db(){//第4行 

str = "example"; 

Db(String s){//第8行 

str = "s"; 

class DbTest1 extends Db{ }

public class DbTest2{ 

public static void main(String[] args){ 

Db d= new Db("Java");//第19行 

DbTest1 d1 = new DbTest1("guigu");//第20行 

}

  • A、第4行 会导致错误
  • B、第8行 会导致错误
  • C、第19行 会导致错误
  • D、第20行 会导致错误

【参考答案】: D

【您的答案】: C

 给定java程序,如下:

public class Test{        

private static int counter=10;     

 public static void main(String [] args){     

 System.out.println(++counter);     //不报错

 }

}

编译运行Test.java,结果是

  • A、10
  • B、11
  • C、编译错误
  • D、运行时出现异常

【参考答案】: B

【您的答案】: C

下列代码执行结果正确的是()

public static void main(String[] args) {

    String s1 = new String("hello");

    String s2 = new String("hello");

    System.out.println(s1 == s2);//地址版判断

    System.out.println(s1.equals(s2));//判断内容

}

  • A、true true
  • B、false true
  • C、false false
  • D、true false

【参考答案】: B

【您的答案】: C

以下代码输出正确的是()

public class Base extends Pri{

public static void main(String[] args) {

Pri p=new Pri();

p . method(); 

}

}

class Pri{

public final void method( ) {

System . out . println("method");

}

}

  • A、编译指示带有final 方法的类自己必须定义为final
  • B、编译指示不能继承含有final 方法的类
  • C、运行错误,原因是Base类没有定义为final类
  • D、运行输出 method

【参考答案】: D

【您的答案】: B

给定两个java程序,如下:

public interface Face{

int counter = 40;

}

public class Test implements Face{

private static int counter;

public static void main(String[] args) {

System.out.println(++counter) ;

}

}

Test.java的编译运行结果是( )。

  • A、40
  • B、41
  • C、0
  • D、1

【参考答案】: D

【您的答案】: A

下列选项中,关于Java的抽象类和抽象方法说法正确的是( )

  • A、抽象类中可以含有0个或多个抽象方法
  • B、抽象类中可以有构造方法
  • C、一个类中若有抽象方法,则这个类必为抽象类
  • D、子类必须重写父类所有的方法

【参考答案】: ABC

【您的答案】: ACD

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值