`

测试main函数重载

阅读更多
我使用的jdk版本是:java version "1.6.0_23"
package com.test;

public class TestMain {

	public static void main(String[] args) {
		System.out.println("main start 1");
	}

	public static void main(String[] args) {
		System.out.println("main start 2");
	}
}

运行结果:
(命令行):编译时错误
引用

TestMain.java:9: 已在 com.test.TestMain 中定义 main(java.lang.String[])
        public static void main(String[] args) {
                           ^
1 错误

eclipse中运行结果:
引用


Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Duplicate method main(String[]) in type TestMain

at com.test.TestMain.main(TestMain.java:5)



我用jdk.1.5.0去测试:
(命令行):编译时错误

运行结果:
引用
TestMain.java:9: main(java.lang.String[]) is already defined in com.test.TestMain
        public static void main( String[] args) {
                           ^


package com.test;

public class TestMain {

	public static void main(String[] args) {
		System.out.println("main start 1");
	}

	public static void main(String test, String[] args) {
		
		System.out.println("main start 2" + test);
	}

}

测试结果两个版本一样:
输出:main start 1
package com.test;

public class TestMain {

	public static void main(String[] args) {
		System.out.println("main start 1");
		main(" Echo test.", args);
	}

	public static void main(String test, String[] args) {
		
		System.out.println("main start 2" + test);
	}

}

测试结果两个版本一样:
输出:main start 1
     main start 2 Echo test.

更换重载方法里的参数类型(一个为String[],一个为boolean):
package com.test;

public class TestMain {

	public static void main(String[] args) {
		System.out.println("main start 1");
	}

	public static void main(boolean flag) {
		
		System.out.println("main start 2");
	}

}

测试结果两个版本一样:
输出:main start 1
更换重载方法里的参数类型(一个为Integer[],一个为boolean):
package com.test;

public class TestMain {

	public static void main(Interger[] args) {
		System.out.println("main start 1");
	}

	public static void main(boolean flag) {
		
		System.out.println("main start 2");
	}

}

输出(命令行):编译时错误
1.5.0:
引用

TestMain.java:5: cannot find symbol
symbol  : class Interger
location: class com.test.TestMain
        public static void main(Interger[] args) {
                                ^
1 error


(命令行):编译时错误
1.6.0_23:
引用

TestMain.java:5: 找不到符号
符号: 类 Interger
位置: 类 com.test.TestMain
        public static void main(Interger[] args) {
                                ^
1 错误

eclipse输出:
引用

java.lang.NoSuchMethodError: main
Exception in thread "main"


其实很多java基础题会有编译时错误和运行错误看具体代码行,也得考虑运行环境是在命令行下,还是在集成开发环境像(Eclipse)中一样。
分享到:
评论

相关推荐

    重载函数\重载函数.cpp

    void main() { int fab(int x); float fab(float x); double fab(double x); int ifab; float ffab; double dfab; cout; cin>>ifab; cout的绝对值为"(ifab); cout; cout;

    C++函数重载详解及实例代码

    C++函数的重载 定义 在同一个作用域中,函数名相同,函数的参数列表不同的函数之间构成重载关系,在不同作用域中的同名函数遵循标识符隐藏的原则 ATTENTION:重载与函数的返回值类型无关,因为声明一个函数不需要...

    入口函数( main、WinMain)

    入口函数( main、WinMain) 在C/C++中,我们知道有一个如下格式的函数: int main(int argc, _TCHAR* argv[]) { return 0; } 该函数是C/C++中的入口函数,而在WindowsAPI中也有自己的入口函数,该函数的格式...

    C++ 课程作业 多态性 运算符重载-成员函数(复数类)

    **【问题描述】** 请定义一个复数类,将+/-运算符重载为成员函数,实现复数与复数的加减及复数与浮点数的加减。 请根据给定的main函数,设计Complex类。

    xiaozhengyu#StudyNotes#静态类型与函数重载1

    public static void main(String[] args) {// 静态类型:编译期可知// 实际类型:运行期可知// 实际类型变化// 静态

    运算符重载

    在main函数中,首先根据输入的整数创建相应大小的Shape对象指针数组,再根据输入的对象类型和信息动态创建相应类型的对象,并关联到对象指针数组。输入的信息格式如下: 3 // 对象指针数组的元素个数 R 23 17 // ...

    C++ 课程作业 多态性 运算符重载-综合(Point类)

    **【问题描述】** 请定义一个Point类,将前置++和后置++运算符重载为成员函数,实现成员变量m_x和m_y的加一操作 同时重载流插入运算符,实现对Point类对象的格式化输出。...请根据给定的main函数,设计Point类。

    吉林大学多项式类的定义以及运算符重载.zip

    对如下多项式编写类定义: +++…+ 其中,n为多项式的次数。完成如下功能: (1)可存储任意大的多项式(提示:可用动态...(6)写main函数测试类的功能。 (7)采用多文件实现。 考虑:哪些成员函数可以声明为const.

    asd.zip_nationxnd

    1. 编写程序完成如下功能:  ⑴ 编写一个自己的字符串类MyString,它有一个私有的数据成员:指向字符串的指针m_data。编写该类的构造函数、拷贝构造函数和析构函数,... ⑶ 编写main函数,测试该类及被重载的运算符。

    重载与覆写/重写的区别

     无法以返回值类型作为重载函数的区分标准。 复制代码 /** * 1. 方法重载只可以通过方法名和方法参数来区别,即“方法签名” * @return * @throws NumberFormatException */ public int getSides...

    C++ 类的深拷贝

    (1)实现构造函数重载,可以根据指定的元素个数动态创建初始值为0的整型数组,或根据指定的内置整型数组动态创建整型数组。 (2)设计拷贝构造函数和析构函数,注意使用深拷贝。 (3)设计存取指定位置的数组元素...

    C++中构造函数重载

    #include class Test { private: int i; int j; int k; public: Test() { i=j=k=0; } Test(int v) { i=j=k=v; } void print() { printf(i= %d, j=%d, k=%d \n,...int main() { Test t1(1); Test t2=

    10个Java经典的Main方法面试题!

    1.main 方法是做什么用的? main 方法是 Java 程序的入口方法,JVM 在运行的时候会首先查找 main 方法。 2.不用 main 方法如何运行一个类? 不行,没有 main 方法我们不能运行 ...可以,我们可以重载 main()方法。一

    C++实现人事管理实验报告

    在main函数中设计测试用例时,注意考虑如何体现成员函数的覆盖。 编程要求: ⑴本程序必须建立工程。 ⑵将上述5个类的定义部分分别作为5个头文件(.h文件),对5个类的实现部分分别作为5个源文件(.cpp文件),在main...

    期末上机-《高级语言程序设计II》-2017-2018-2-期末考试-1-A卷.doc

    (3)设计测试程序:在main()函数中使用不同方式创建对象,并测试其成员函数的功能。 二、设计和实现圆类Circle,要求如下: (1)该类有1个double类型的私有数据成员:radius表示圆的半径值; (2)为Circle类...

    C++实践分数类中运算符重载的方法参考

    //重载函数的实现及用于测试的main()函数 (2)在(1)的基础上,实现分数类中的对象和整型数的四则运算。分数类中的对象可以和整型数进行四则运算,且运算符合交换律。例如:CFraction a(1,3),b; int i=2; 可以完成...

    c++拷贝构造函数的调用

    先看代码: #include class B { int data; public: B(int a) : data(a) { std::cout << 111111 << std::endl; } B(const B &b) { data = b.data;...int main() { B t1 = MyPlay(5); sys

    -C++参考大全(第四版) (2010 年度畅销榜

    第14章 函数重载、拷贝构造函数和默认变元 14.1 函数重载 14.2 重载构造函数 14.3 拷贝构造函数 14.4 查找重载函数的地址 14.5 重载的过去与现在 14.6 默认的函数变元 14.7 函数重载和二义性 第15章 运算符重载 ...

    c++计算一个立方体盒子体积

    实验题目1:计算一个立方体盒子的体积 (1)程序功能简介 定义一个盒子(Box)类,数据成员...⑤ 设计main()测试函数,并准备好合适的测试数据。 (3)程序调试运行 运行程序查看结果,并进行源代码调试和优化。

    运算符重载的部分代码

    visual basic 2005 技术内部中第六章第七节运算符重载代码。 operator部分: Module Module1 Sub Main() End Sub End Module Public Structure Fraction 'Read-Only fields Private num As Long Private ...

Global site tag (gtag.js) - Google Analytics