查看“商苑面馆:Java方法重载”的源代码
←
商苑面馆:Java方法重载
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==区分重载方法的关键因素== 参数不同是区分重载方法的关键因素,参数不同主要包括以下方面的不同: #参数类型不同。例如: public void method(String s); public void method(int s); #参数个数不同。例如: public void method(String s,int i); public void method(String s); #参数顺序不同。例如: public void method(String s,int i); public void method(int i,String s); '''【注意】''' 参数顺序不同的情况中一定要注意指的是参数全体,而不是简单的参数名,参数名在参数中其实没有实际意义,只是一个代号。例如: public void method(String s,int i); public void method(String i,int s); 上面的例子是不属于顺序不同的,因为只是互换了参数的名字,参数的类型并没有互换。 ==面馆案例== 如果在Noodle类里添加了如下方法,他们方法名相同,但是参数不同,我们就说它发生了重载 ===编写重载方法=== <nowiki> public boolean setInfo(String name){//设置名称 this.name = name; return true; } public boolean setInfo(String name,double p){//设置名称和价格 this.name = name; this.price = p; return true; } public boolean setInfo(String name,double p,int n){//设置名称、价格和数量 this.name = name; this.price = p; this.num = n; return true; }</nowiki> ===在main方法中调用=== <nowiki>public static void main(String[] args) { // TODO Auto-generated method stub Noodle n2 = new Noodle("炸酱面",12,3); n2.setInfo("老北京炸酱面"); System.out.println(n2.toString()); n2.setInfo("老济南炸酱面", 10); System.out.println(n2.toString()); n2.setInfo("宫廷炸酱御面", 18, 3); System.out.println(n2.toString()); }</nowiki> ==完整代码== <nowiki>public class Noodle { //成员变量 //名称 private String name; //价格 private double price; //数量 private int num; /*构造方法*/ public Noodle(){ } public Noodle(String name,double price,int num){ this.name = name; this.price = price; this.num = num; } //成员方法 //增加订单; public void add(int num){ this.num += num; } //削减订单; public void reduce(int n){ this.num = this.num -n; } public String getName(){ return this.name; } public double getPrice(){ return this.price; } public int getNum(){ return this.num; } //写方法 public boolean setName(String s){ this.name = s; return true; } public boolean setPrice(double p){ this.price = p; return true; } public boolean setNum(int n){ this.num = n; return true; } public String toString(){ return "名称:" +this.name+"价格:"+ this.price + "数量: " + this.num; } public boolean setInfo(String name){//设置名称 this.name = name; return true; } public boolean setInfo(String name,double p){//设置名称和价格 this.name = name; this.price = p; return true; } public boolean setInfo(String name,double p,int n){//设置名称、价格和数量 this.name = name; this.price = p; this.num = n; return true; } public static void main(String[] args) { // TODO Auto-generated method stub Noodle n2 = new Noodle("炸酱面",12,3); n2.setInfo("老北京炸酱面"); System.out.println(n2.toString()); n2.setInfo("老济南炸酱面", 10); System.out.println(n2.toString()); n2.setInfo("宫廷炸酱御面", 18, 3); System.out.println(n2.toString()); } } </nowiki>
返回至
商苑面馆:Java方法重载
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息