方法的重载和重写的区别(续)
来源:互联网 发布:塞班看图软件 编辑:程序博客网 时间:2024/06/09 22:24
方法重写
1.在继承关系的子类中
2.重写的方法名、参数、返回值类型必须与父类相同
3.私有方法不能继承因而也无法重写
4.子类重写的方法不能比父类更严格(例如:父类的访问修饰符为protected,而子类只能是protected和public)
方法重载和方法重写的区别
方法重写的意义是实现多态
方法重写例子:
编写程序实现工作任务选择
问题描述:
编写程序,接收用户输入的信息,选择需要完成的工作任务。可供选
择的有:测试工作和编码工作
设定:
测试工作 属性:工作类型、工作名称、编写的测试用例个数、发现的Bug数量 方法:任务描述
编码工作 属性:工作类型、工作名称、有效编码行数、未解决的Bug个数 方法:任务描述
源代码参考:
工作类:Job.java
public class Job {protected String style;protected String name;public Job(String style, String name) {super();this.style = style;this.name = name;}public void introduce(){System.out.println("工作名称:"+name+"\n工作类型:"+style);}}测试工作类:TestJob.java
public class TestJob extends Job {private int num;//编写用例个数private int funbug;//发现bug数量public int getNum() {return num;}public void setNum(int num) {this.num = num;}public int getFunbug() {return funbug;}public void setFunbug(int funbug) {this.funbug = funbug;}public TestJob(String style, String name,int num,int funbug) {super(style, name);// TODO Auto-generated constructor stubthis.num = num;this.funbug = funbug;}@Overridepublic void introduce() {// TODO Auto-generated method stubsuper.introduce();System.out.println("编写用例个数:"+getNum()+"\n发现的Bug数量:"+getFunbug());}}
编码工作类:CodeJob.java
public class CodeJob extends Job {private int sum;//有效编码的行数private int wbug;//未解决的bug数public int getSum() {return sum;}public void setSum(int sum) {this.sum = sum;}public int getWbug() {return wbug;}public void setWbug(int wbug) {this.wbug = wbug;}public CodeJob(String style, String name,int sum,int wbug) {super(style, name);// TODO Auto-generated constructor stubthis.sum = sum;this.wbug = wbug;}@Overridepublic void introduce() {// TODO Auto-generated method stubsuper.introduce();System.out.println("有效编码行数:"+getSum()+"\n未解决的Bug个数:"+getWbug());}}
测试类:JobTest.java
public class JobTest {public static void main(String[] args) {Scanner sc = new Scanner(System.in);while(true){System.out.print("请选择要选择的工作(1.测试 2.编码):");int n = sc.nextInt();switch(n){case 1:TestJob tj = new TestJob("压力测试", "测试项目已经实现的功能", 20, 10);tj.introduce();return;case 2:CodeJob cj = new CodeJob("编码工作", "检查编码实现的功能", 15, 12);cj.introduce();return;default:System.out.println("输入有误!请重新输入");}}}}
阅读全文
0 0
- 方法的重载和重写的区别(续)
- 方法重载和方法重写的区别
- 方法重写和方法重载的区别
- 方法重载和方法重写的区别
- 方法重载和方法重写的区别?
- 方法重写和方法重载的区别
- 方法的重载和重写的区别
- 方法重载和重写的区别
- 方法重载和重写的区别
- 方法重载和重写(覆盖)的区别
- 方法重载和重写的区别
- 方法重载和重写的区别
- 方法重载和重写的区别
- 方法重载和方法重写的区别(转载)
- 方法重载,重写的区别
- 重写和重载的区别(转)
- 重写(覆盖)和重载的区别
- 重载和重写的区别
- shiro 配置
- vue里发请求用axios
- Alamofire源码解读系列(四)之参数编码(ParameterEncoding)
- 记录下Ubuntu14.04+opencv2.4.13+Qt4/Qt5+Opengl环境搭建遇到的问题
- 爬取北京这个页面的网页信息
- 方法的重载和重写的区别(续)
- 上传图片及添加水印一般处理程序的
- 智能小车四《串口通信》
- Context namespace element 'component-scan' 提示 only available on JDK 1.5 and higher
- 战狼种子下载
- Postman支持带cookie登陆的调用
- 129. Sum Root to Leaf Numbers
- 六个简单而有创意的网站设计小技巧
- 1347 旋转字符串