关闭

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

566人阅读 评论(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
查看评论

Java可变参数方法重载时要注意的几个问题

转载自:http://www.blogjava.net/rongxh7/archive/2010/04/18/318698.html JDK1.5引进了方法的可变参数,受到许多开发人员的青睐。有了这种机制,我们可以写出类似于JavaScript的arguments那样的带任意多个参数的方法。Jav...
  • gwpJava
  • gwpJava
  • 2015-06-19 09:57
  • 2346

java方法重载原理,案例说明

方法重载概述 在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。 方法重载特点 与返回值类型无关,只看方法名和参数列表 在调用时,虚拟机通过参数列表的不同来区分同名方法
  • qq_31598113
  • qq_31598113
  • 2016-12-21 19:21
  • 897

java中方法重载是什么, 实际中到底有什么意义, 用处?请举例

7.3 方法重载 当几个方法有相同的方法名,但参数个数不同或参数类型不同时,就涉及方法重载 Several methods can have same name Number of parameters(参数个数) Parameter type(参数类型) 方法重载有什么意义呢?在公司里编...
  • mark_to_win
  • mark_to_win
  • 2014-07-31 13:00
  • 2043

关于java重载(重载方法匹配优先级)

首先看一段代码 public class Overload { public static void sayHello(Object arg){ System.out.println("hello object"); } public static void sayH...
  • u010071890
  • u010071890
  • 2015-09-17 09:59
  • 1119

Java-多态、方法重载

什么是多态、重载1. 多态对多态现象的理解多态是面向对象的一个重要特征。关于定义性的概念,相信网上有很多资料,不再多说。这里说说我自己的理解。多态是指在运行期间,调用某个类对象的方法会有不同的行为。举个最普遍的例子来说:基类:Shapeclass Shape{ public void dra...
  • zjx409
  • zjx409
  • 2015-07-15 15:45
  • 1693

java方法的重载与覆盖的条件

java多态的2种表现形式 方法重载和方法覆盖 方法重载:同一个类中,方法名相同,参数列表不同的2个或多个方法构成方法的重载。 方法覆盖:子类重新实现了父类中的方法。   方法重载 [java] view plaincopy /**  *...
  • lingzhm
  • lingzhm
  • 2015-03-07 18:48
  • 2747

JAVA方法重载的例子

      在JAVA中一个激动人心的功能就是方法的重载,只要同一个函数名有不同个数、不同类型的参数时,就是会调动那一个函数。下面是一个简单的方法重载的例子!代码如下:class OverloadDemo{   ...
  • ganjinyou
  • ganjinyou
  • 2006-05-20 18:40
  • 5971

java 方法重载与方法覆盖的异同

方法覆盖和方法重载具有以下相同点: ◦ 都要求方法名相同 ◦ 都可以用于抽象方法和非抽象方法之间
  • j754379117
  • j754379117
  • 2014-11-04 19:16
  • 1603

java例程练习(有趣的函数重载问题)

public class Test { void max(int a, int b) { System.out.println(a > b ? a : b); System.out.println("int:"); System.out.println(); ...
  • haifengzhilian
  • haifengzhilian
  • 2012-04-20 22:04
  • 730

Java方法重载规则

方法重载的要求就是两同一不同:同一类中方法名相同,参数列表不同。至于方法的其他部分,如方法返回值类型、修饰符等,与方法重载没有任何关系。
  • totally123
  • totally123
  • 2016-06-03 16:02
  • 5129
    个人资料
    • 访问:216852次
    • 积分:5677
    • 等级:
    • 排名:第5485名
    • 原创:344篇
    • 转载:119篇
    • 译文:0篇
    • 评论:24条
    文章分类
    最新评论