Java全栈经典面试题剖析3】JavaSE面向对象2

目录

面试题2.12  Overload和Override的区别

面试题2.13  Overload方法是否可以改变返回值的类型?

面试题2.14  为什么方法不能根据返回类型来区分重载?

面试题2.15  构造器可不可以被重载或重写?

面试题2.16  在 Java 中定义⼀个不做事且没有参数的构造方法的作用

面试题2.17  创建一个子类对象,请写出:父类静态代码块,父类构造方法,父类代码块,子类代码块,子类构造,子类静态代码块。这六个对象的执行顺序

面试题2.18  Java中访问修饰符有哪些? 作用域public,private,protected,以及不写时的区别

面试题2.19  final关键字的用法?

面试题2.20  抽象类和接口的区别?什么时间考虑用抽象类,什么时间考虑用接口?

面试题2.21  接口是什么?为什么要使用接口而不是直接使用具体类?

面试题2.22  什么是类?什么是对象?什么是接口?接口和类的继承有什么本质区别

面试题2.23  Java中有没有多继承?

面试题2.24  什么是内部类?分为哪几种?

面试题2.25  为什么需要内部类?

面试题2.26  局部内部类特性

面试题2.27  内部类与静态内部类的区别

面试题2.28  异常的理解? 什么是检查性异常和非检查性异常? Error和Exception的区别?

面试题2.29  说出十种常见的异常,请举例有哪些异常

面试题2.30  throw和throws的区别

面试题2.31  final,finally,finalize的区别


面试题2.12  Overload和Override的区别

【技术难度: 2   出现频率:2  】

小技巧:按方法声明(返回值类型 方法名 (参数列表) throws 异常)来说两者的区别

方法重载 (Overload),发生在同一个类中:

1. 方法名相同;

2. 参数列表不同 (参数类型,参数顺序,参数个数);

3. 权限修饰符,返回值类型无关

方法重写 (Override),发生在子类中:

1.方法名与父类方法名相同;

2.参数列表与父类方法相同(参数类型,参数顺序,参数个数);

3.返回值类型与父类方法相同或是其子类;

4.访问权限不能严于父类方法;

5.抛出的异常与父类相同或是其子类。抛出的异常不能多于父类)

面试题2.13  Overload方法是否可以改变返回值的类型?

【技术难度: 2    出现频率:2  】

Overload重载方法可以改变返回值类型。不根据返回类型来区分重载。

面试题2.14  为什么方法不能根据返回类型来区分重载?

【技术难度:2     出现频率:2  】

方法重载只和方法名、参数列表有关,与返回值无关。
在Java中,方法的名称和参数列表共同构成了方法的签名,不包括返回值而编译器用这个签名确定要调用哪个方法。所以……

面试题2.15  构造器可不可以被重载或重写?

【技术难度:2     出现频率:2  】

构造方法可以重载不可以被子类重写,因为Java规定子类不可继承父类构造方法只能通过super关键字来调用父类构造器不可继承父类构造方法?)

面试题2.16  在 Java 中定义⼀个不做事且没有参数的构造方法的作用

【技术难度: 2    出现频率:1  】

如果不在子类构造器中显示调用父类的构造方法,编译器就会自动调用父类的无参构造方法。所以定义类时最好还是带上一个无参构造方法。

第一层:

如果子类调用到了父类无参构造方法时,父类得有无参构造方法,否则报错。后面要学习的框架就会经常用到无参构造方法。

第二层:

比如这种情况,若父类中只定义了有参构造方法,而在⼦类的构造方法中又没有用super来指定调用父类中特定的有参构造⽅法,就会默认调⽤⽗类的无参构造方法。如果父类没有无参构造方法,此时编译时将发⽣错误,因为 Java 程序在⽗类中找不到无参构造方法。

面试题2.17  创建一个子类对象,请写出:父类静态代码块,父类构造方法,父类代码块,子类代码块,子类构造,子类静态代码块。这六个对象的执行顺序

【技术难度: 2    出现频率: 1 】

1.父类静态代码块;

2.子类静态代码块;

3.父类实例代码块;

4.父类构造方法;

5.子类实例代码块;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烛火萤辉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值