牛客练习题——10

下列关于Java类中方法的定义,正确的是()
若代码执行到return语句,则将当前值返回,而且继续执行return语句后面的语句。
只需要对使用基本数据类型定义的属性使用getter和setter,体现类的封装性。
方法的返回值只能是基本数据类型。
在同一个类中定义的方法,允许方法名称相同而形参列表不同。

解析:

A、一旦执行到return,就不再执行后续的代码。

B、类的封装性可不是这么体现的,数据域和方法都可以被封装。数据域可以是基本数据类型也可以是引用类型。

C、方法的返回值可以是引用类型。

D、重载,判定方法只有方法名一致,形参列表不同。

在异常处理中,以下描述不正确的有

try块不可以省略
可以使用多重catch块
finally块可以省略
catch块和finally块可以同时省略

解析:假如try中有异常抛出,则会去执行catch块,再去执行finally块;假如没有catch 块,可以直接执行finally 块,方法就以抛出异常的方式结束,而finally 后的内容也不会被执行,所以catch 和 finally 不能同时省略。

在jdk1.8之前,下列哪一种叙述是正确的( )

abstract修饰符可修饰字段、方法和类
抽象方法的body部分必须用一对大括号{ }包住
声明抽象方法,大括号可有可无
声明抽象方法不可写出大括号

解析:

abstract修饰符用来修饰类和成员方法

1:用abstract修饰的类表示抽象类,抽象类位于继承树的抽象层,抽象类不能被实例化。

2:用abstract修饰的方法表示抽象方法,抽象方法没有方法体。抽象方法用来描述系统具有什么功能,但不提供具体的实现。

Abstract是Java中的一个重要关键字,可以用来修饰一个类或者一个方法。 修饰一个方法时,表示该方法只有特征签名(signature),没有具体实现,而是把具体实现留给继承该类的子类。一个类中只要有一个abstract 方法,那么这个类就要被声明为abstract,但是其中可以有非abstract方法。 abstract类可以使得类的设计者能够创建方法的原型,而真正的实现留给使用这个类的人

Java7特性中,abstract class和interface有什么区别。

抽象类可以有构造方法,接口中不能有构造方法
抽象类中可以有普通成员变量,接口中没有普通成员变量
抽象类中不可以包含静态方法,接口中可以包含静态方法
一个类可以实现多个接口,但只能继承一个抽象类。

解析

1、抽象类可以有构造,只不过不能new。

2、接口中可以有变量,但是无论你怎么写,最后都是public static final的。

3、抽象类中可以有静态方法,接口中也可以有。

扩展:

1、接口中可以有非抽象的方法,比如default方法(Java 1.8)。

2、接口中可以有带方法体的方法。(Java 1.8)

3、接口中的方法默认是public的。

关于下面这段Java程序,哪些描述是正确的:( )

public class ThreadTest extends Thread {
public void run() {
System.out.println("In run");
yield();
System.out.println("Leaving run");
}
public static void main(String []argv) {
(new ThreadTest()).start();
}
}
程序运行输出先有In run后有Leaving run

解析:暂停当前正在执行的线程对象,并执行其他线程。

yield()应该做的是让当前运行线程回到可运行状态,以允许具有相同优先级的其他线程获得运行机会。因此,使用yield()的目的是让相同优先级的线程之间能适当的轮转执行。但是,实际中无法保证yield()达到让步目的,因为让步的线程还有可能被线程调度程序再次选中。

结论:yield()从未导致线程转到等待/睡眠/阻塞状态。在大多数情况下,yield()将导致线程从运行状态转到可运行状态,但有可能没有效果。

数组命名时名称与[]可以随意排列,但声明的二维数组中第一个中括号中必须要有值,它代表的是在该二维数组中有多少个一维数组。

float []f[] = new float[6][6];
float [][]f = new float[6][6];

下面的Java赋值语句哪些是有错误的 ()

float f = 45.0;
Double d = 100;

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值