您的位置:首页 > 编程语言 > Java开发

java方法重载--参数类型转换

2016-08-31 09:52 399 查看
package com.xiuye.test;

import java.io.Serializable;

public class TestOverload {

static abstract class A {

}

static class B extends A {

}

static class C extends A {

}

public void f(A a) {
System.out.println("AAAAAAA");
}

public void f(B a) {
System.out.println("BBBBBBB");
}

public void f(C a) {
System.out.println("CCCCCCC");
}

public static void main(String[] args) {
TestOverload l = new TestOverload();
// l.f(new A());
l.f(new B());
l.f(new C());

say('a');

}

/**
* 依次注释1~9, say('a')会依次向上转型输出,
* char->int->long->float->double->Character->Serializable->Object->char...
*
* @param obj
*/

// 8
public static void say(Object obj) {
System.out.println("Object");
}

// 1
public static void say(char obj) {
System.out.println("char");
}

// 2
public static void say(int obj) {
System.out.println("int");
}

// 3
public static void say(long obj) {
System.out.println("long");
}

// 4
public static void say(float obj) {
System.out.println("float");
}

// 5
public static void say(double obj) {
System.out.println("double");
}

// 6
public static void say(Character obj) {
System.out.println("Character");
}

// 7
public static void say(Serializable obj) {
System.out.println("Serializable");
}

// 9
public static void say(char... obj) {
System.out.println("char...");
}
}
BBBBBBB
CCCCCCC
char
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: