- 为什么要有重载:
一个原因:方法名,不需要对每个概念都用不同的词汇
另一个原因:构造器强制重载方法名。因为构造器的名字一定是类的名字,就只能有一个构造器名。想用多种方式创建一个对象,由于都是构造器,所以他们必须有相同的名字,即类名。而他们的参数不同,必须用到方法重载。 - 方法签名:方法名+参数列表
- 区分重载方法:每个重载方法都必须有一个独一无二的参数类型列表。甚至参数顺序的不同也足以区分两个方法,不过一般情况下不这么做,因为会使代码难以维护。
- 基本类型的重载:
5会被当做int处理,如果有某个重载方法接受int,就会被调用。如果传入的数据类型(实际参数类型)小于声明的形式参数类型,实际数据类型就会被提升。char:如果找不到接受char参数的方法,char直接被提升到int。
如果传入的实际参数大于重载方法声明的形式参数,需要类型转换,否则编译器就会报错。 - 以返回值区分重载方法?
虽然这样你可以区分,比如这样void f() {} int f() {return 1;}int x = f()
但如果这样呢:f()
Java没有办法判断调用哪一个f(),别人也理解不了。所以根据方法的返回值来区分重载方法是行不通的。
区分重载方法
最新推荐文章于 2024-09-12 19:53:13 发布
240

被折叠的 条评论
为什么被折叠?



