面试问题汇总

java中子类能不能继承父类构造方法?

 首先来看一下下面这个例子:

结果有些和想象中的不一样吧。

原因如下:其实每个子类构造方法的第一条语句,都是隐含地调用super(),如果父类没有这种形式的构造函数,那么在编译的时候就会报错。

所以父类中的构造方法是不能继承的,但是在实例化子类的时候会调用父类的构造方法

如何让一个java类不被继承?

当父类被修饰符private修饰时,或当final修饰的类时不能被子类继承,但是final用于修饰方法时,该方法能被继承

final表示最终的意思,它修饰的类是不能被继承的;final修饰的方法能被继承(Math类里就有),但是不能够被重写。其实关系并不复杂,你只需要记住这样一句话:final可用于声明属性、方法和类,分别表示属性不可变,方法不可重写,类不可继承。

Oracle trunc()函数和round函数的用法?

SELECT TRUNC(number,num_digits)FROM DUAL 

说明:
Number 需要截尾取整的数字。 
Num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。
TRUNC()函数截取时不进行四舍五入

select trunc(123.458) from dual --123
select trunc(123.458,0) from dual --123
select trunc(123.458,1) from dual --123.4
select trunc(123.458,-1) from dual --120
select trunc(123.458,-4) from dual --0
select trunc(123.458,4) from dual  --123.458

SELECT ROUND( number, [ decimal_places ] ) FROM DUAL

说明:

number : 将要处理的数值

decimal_places : 四舍五入,小数取几位,不填默认为0

select round(123.456) from dual;              结果: 123

select round(123.456, 0) from dual;          结果: 123

select round(123.456, 1) from dual;          结果: 123.5

select round(123.456, 2) from dual;          结果:123.46

select round(123.456, 3) from dual;          结果: 123.456

select round(-123.456, 2) from dual;         结果:-123.46

抽象类可以不包含抽象方法,但有抽象方法的类一定要声明为抽象类!!!

Java程序中的类名称必须与存放该类的文件名相同?

错,声明为public类型的类名必须与文件名相同,默认权限的可以不同

并且内部类的类名一般与文件名不同

简单的做个关于抽象类和接口的总结吧:

区别1:抽象类体现继承关系,一个类只能単继承。接口体现实现关系,一个类可以多实现。
区别2:抽象类中可以定义非抽象方法和抽象方法,子类继承后可以直接使用非抽象方法。接口的方法都            是抽象的,必须由子类去实现。接口中的成员都有固定的修饰符。
区别3:抽象类有构造方法,用于给子类对象初始化。而接口没有构造方法。
特点1:抽象类不可以实例化,即不能用new创建对象。抽象类必须由其子类覆盖了所有的抽象方法后,           该子类才可以实例化,否则,这个子类也是抽象类。
特点2:抽象类abstract关键字不能和哪些关键字共存:
  • final 因为final修饰的方法不能被继承。
  • static因为类.方法(),此方法没有方法体,没有意义。
  • private 因为抽象方法是要被子类覆盖的,加上private子类就不知道这个方法了。
特点3:接口中声明变量必须是final、public 、static的,接口中定义的方法都是abstract、                    public的。接口里的数据成员必须初始化,且全是常量,不是变量。
特点4:接口是抽象类的 变体( 你没看错 ), 接口也可以通过关键字extends来继承其他接                  口。格式如下所示:
            class 类名称 implements 接口A,接口B{   //接口的实现}
            interface 子接口名称 extends 父接口1,父接口2,...{}
posted @ 2019-02-21 19:36  用心记录每一天  阅读(308)  评论(0编辑  收藏  举报