方法重载的基本特性:
package com.ctcdma.dns1;
class Rock {
Rock() {
System.out.println("中秋节快乐");
}
Rock(String str){
System.out.println("中秋节快乐"+str);
}
}
public class SimpleConstructpor {
public static void main(String[] args) {
{
Rock SSS = new Rock("健康长寿");
}
}
}
package com.ctcdma.dns1;
// initialization/DogTalk.java
// TIJ4 Chapter Initialization, Exercise 5, page 167
/* Create a class with a default constructor (one that takes no arguments) that
* prints a message. Create an object of this class.
*/
class Dog {
void bark() {System.out.println("quiet");}
void bark(char c,byte b) {System.out.println("cawcaw");}
void bark(byte b,char c) {System.out.println("barkbark");}
void bark(short s) {System.out.println("slurpslurp");}
void bark(int i) {System.out.println("iyow");}
void bark(long L) {System.out.println("lalala");}
void bark(float f) {System.out.println("fififoofum");}
void bark(double d) {System.out.println("dodo");}
}
public class DogTalk {
public static void main(String[] args) {
Dog d = new Dog();
char c='c' ;
byte b = 0;
short s = 0;
d.bark();
d.bark((char)c);
d.bark((byte)b);
d.bark((short)s);
d.bark(1);
d.bark(1L);
d.bark(1.0f);
d.bark(1.0);
d.bark((char)c,(byte)b);
d.bark((byte) c,(char)b);
}
}
如果传入的数据类型小于方法中声明的形式参数类型,实际数据类型就会被提升,本示例中byte类型被转换为short类型,char类型略有不同,如果无法找到恰好接收char类型的方法,就会把char直接转化为int类型。