关闭

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

483人阅读 评论(0) 收藏 举报
分类:
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


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:178521次
    • 积分:4956
    • 等级:
    • 排名:第6147名
    • 原创:314篇
    • 转载:97篇
    • 译文:0篇
    • 评论:18条
    文章分类
    最新评论