欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java面试题

程序员文章站 2022-06-05 16:53:26
一、java基础:1、抽象类与接口的区别:2、set集合和map集合在除去重复时,分别调用的是哪种方法?结果是否相同?3、把D:\\java文件夹中内容复制到E:\\中4、sleep()和wait()的区别5、线程的关闭方式有几种二、web基础1、servlet为什么被设计成单例多线程。2、jsp的 ......

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. 重载与方法的返回值无关,,存在于父类和子类,同类中。可以抛出不同的异常,可以有不同的修饰符。
    方法重写规则:
  3. 参数列表、返回类型必须完全与被重写的父类方法一致。
  4. 构造方法不能被重写,声明为final的方法不能被重写,声明为static的方法不能被重写,但是能够再次声明。
  5. 访问权限不能低于父类。
  6. 重写的方法能够抛出任何非强制异常(UncheckedException,也叫非运行时异常),无论被重写的方法是否抛出异常。

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

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

本文地址:https://blog.csdn.net/qq_40745048/article/details/107671344

相关标签: java