前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面试题54(考察求职者对重载与重写的掌握)

面试题54(考察求职者对重载与重写的掌握)

作者头像
Java学习
发布2018-04-17 17:35:41
5580
发布2018-04-17 17:35:41
举报
文章被收录于专栏:java学习java学习

(不定项选择题)4、A,B,C,D 中哪些是 setVar的重载?

public class methodover {

public void setVar(int a, int b, float c) {}

}

A、 private void setVar(int a, float c, int b){ }

B、 protected void setVar(int a, int b, float c){ }

C、 public int setVar(int a, float c, int b){return a;}

D 、public int setVar(int a, float c){return a;}

考点:考察求职者对类的多态的理解

出现频率:★★★★★

【面试题分析】

1、重载:

(1)作用范围:同一个类的内部;

(2)定义:方法名相同,但是参数不同(参数的个数不同,参数的类型不同),参数的变量名不同没有影响;

(3)特别注意:重载的方法返回类型以及访问权限以及抛出的异常类型可以相同也可以不同,方法的重载和这些没有关系。

2、重写:

(1)作用范围:继承关系(子类重写父类方法);实现关系(类重写接口定义的方法);

(2)定义:方法名和参数、返回类型必须相同,方法的实现不同;被重写的方法是非private类型的;

(3)特别注意:重写的方法访问权限必须大于或等于被重写的方法的访问权限,如果被重写的方法的访问权限为protected,则重写方法的访问权限可以为protected或者public;重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常,可以抛出非检查异常,如果被重写的方法抛出IOException,则重写方法可以抛出RuntimeException或者IOException的子类,不能抛出其他检查异常,如SQLException.

重载和重写的区别:

(1)作用范围不同

重载发生在同一个类内部,重写发生在不同类之间或者类与接口之间;

(2)目的不同

重载的目的是定义不同的方法,重写的目的是对同一个方法有不同的实现;

(3)判别标准不同

方法名相同参数不同的为重载;

方法名相同参数相同返回类型相同的为重写;

(4)注意点不同

重载不许关心返回类型、抛出的异常;

重写需要注意返回类型、抛出的异常;

所以参考答案是 (A) (C) (D)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-01-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档