首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

Java里面两个重载的有关问题

2013-10-14 
Java里面两个重载的问题?1:Java不支持运算符重载,但是像这种表达式ss1+James, Bond,(1):是本身针对Stri

Java里面两个重载的问题?
1:Java不支持运算符重载,但是像这种表达式s=s1+"James, Bond",
(1):是本身针对String重载了=,而不允许用户自定义运算符重载吗?
(2):还是调用了toString()呢?
2:看书说只有静态函数,常函数和构造函数是静态绑定,难道重载函数是动态绑定的么?
C++函数重载可是静态联编啊
[解决办法]
java中字符串相加其实是调用了StringBuilder的append()方法,实际上s = s1 + “James,Bond”可以转换为s = new StringBuilder(s1).append(“James,Bond”).toString();
[解决办法]
用于String的+和+=是java中仅有的两个重载过的操作符,java是不允许程序员重载任何操作符的!toString()方法是在将一个对象放到字符串上下文时调用的!
java中除了static方法和final方法,其他所有方法都是后期绑定的!
[解决办法]

引用:
java中字符串相加其实是调用了StringBuilder的append()方法,实际上s = s1 + “James,Bond”可以转换为s = new StringBuilder(s1).append(“James,Bond”).toString();

应该是StringBuffer ,StringBuild是C#里面的
[解决办法]
引用:
Quote: 引用:

java中字符串相加其实是调用了StringBuilder的append()方法,实际上s = s1 + “James,Bond”可以转换为s = new StringBuilder(s1).append(“James,Bond”).toString();

应该是StringBuffer ,StringBuild是C#里面的

以前是StringBuffer,现在是StringBuilder
[解决办法]
方法实参很可能在运行期才最终确定,所以动态绑定

热点排行