Java面试题

java有没有goto语句

goto也称无条件转移语句,语义为改变程序的流向,转去执行语句标号所标识的语句。goto语句通常与条件语句配合使用。可用来实现条件转移,构成循环,跳出循环等功能。但是,在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。
goto是java保留字,在目前版本中没有使用。

&和&&的区别

这两个符号都是逻辑与运算符,只有当符号两边布尔值都为true时,整个表达式才是true。
除此之外
&&还可以进行短路运算,当符号左边的表达式布尔值为false时,符号右边的表达式将会直接短路掉,不进行运算。
&还可以表示按位与运算,也就是说直接对内存中的二进制数据进行计算,而不需要转换成十进制,速度较快。a&b操作结果为:a/b中对应位同时为1,则对应结果为1。

是否可以继承String

String是final类,不能被继承。
String类型的重用方式是关联关系(Has-A)1和依赖关系(Use-A)2而不是继承关系(Is-A)。

当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值的传递还是引用传递。

是值传递。java语言的方法调用只支持参数的值传递。当一个对象实例作为参数被传递到方法中时,参数的值就是对对象的引用。对象的属性可以在被调用的过程中被改变,但对对象引用的改变是不会影响到调用者的。

重载(overload)和重写(override)的区别?重载的方法能否根据返回类型进行区分。

方法重载和重写都是实现多态的方式,区别在于前者是实现编译时的多态性,后者是实现的是运行时的多态性。重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同,参数个数不同,或者二者都不通)则视为重载;重写发生在父类和子类之间,重写要求子类重写方法和父类被重写的方法具有相同返回类型,必父类被重写的方法更容易访问,不能比父类重写方法声明更多的异常(里氏代换原则)。重载对返回类型没有要求。
方法重载的规则:

  1. 方法名一致,参数列表的顺序、类型、个数不同。
  2. 重载与方法的返回值无关,,存在于父类和子类,同类中。可以抛出不同的异常,可以有不同的修饰符。

方法重写规则:

  1. 参数列表、返回类型必须完全与被重写的父类方法一致。
  2. 构造方法不能被重写,声明为final的方法不能被重写,声明为static的方法不能被重写,但是能够再次声明。
  3. 访问权限不能低于父类。
  4. 重写的方法能够抛出任何非强制异常(UncheckedException,也叫非运行时异常),无论被重写的方法是否抛出异常。

  1. 整体和部分之间的关系。 ↩︎

  2. 类与类(通常为函数的参数)之间的连接,依赖是单向的。 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值