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)的区别?重载的方法能否根据返回类型进行区分。
方法重载和重写都是实现多态的方式,区别在于前者是实现编译时的多态性,后者是实现的是运行时的多态性。重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同,参数个数不同,或者二者都不通)则视为重载;重写发生在父类和子类之间,重写要求子类重写方法和父类被重写的方法具有相同返回类型,必父类被重写的方法更容易访问,不能比父类重写方法声明更多的异常(里氏代换原则)。重载对返回类型没有要求。
方法重载的规则:
- 方法名一致,参数列表的顺序、类型、个数不同。
- 重载与方法的返回值无关,,存在于父类和子类,同类中。可以抛出不同的异常,可以有不同的修饰符。
方法重写规则: - 参数列表、返回类型必须完全与被重写的父类方法一致。
- 构造方法不能被重写,声明为final的方法不能被重写,声明为static的方法不能被重写,但是能够再次声明。
- 访问权限不能低于父类。
- 重写的方法能够抛出任何非强制异常(UncheckedException,也叫非运行时异常),无论被重写的方法是否抛出异常。
本文地址:https://blog.csdn.net/qq_40745048/article/details/107671344
上一篇: 两个月的Java实习结束,继续努力