Java程序的输出|第 22 组(超载)
先决条件 - 在Java重载
1) 以下程序的输出是什么?
Java
public class Test
{
public int getData() //getdata() 1
{
return 0;
}
public long getData() //getdata 2
{
return 1;
}
public static void main(String[] args)
{
Test obj = new Test();
System.out.println(obj.getData());
}
}
Java
public class Test
{
public int getData(String temp) throws IOException
{
return 0;
}
public int getData(String temp) throws Exception
{
return 1;
}
public static void main(String[] args)
{
Test obj = new Test();
System.out.println(obj.getData("GFG"));
}
}
Java
public class Test
{
private String function()
{
return ("GFG");
}
public final static String function(int data)
{
return ("GeeksforGeeks");
}
public static void main(String[] args)
{
Test obj = new Test();
System.out.println(obj.function());
}
}
Java
public class Test
{
private String function(String temp, int data)
{
return ("GFG");
}
private String function(int data, String temp)
{
return ("GeeksforGeeks");
}
public static void main(String[] args)
{
Test obj = new Test();
System.out.println(obj.function(4, "GFG"));
}
}
Java
public class Test
{
private String function(String temp, int data, int sum)
{
return ("GFG");
}
private String function(String temp, int data)
{
return ("GeeksforGeeks");
}
public static void main(String[] args)
{
Test obj = new Test();
System.out.println(obj.function("GFG", 0, 20));
}
}
Java
public class Test
{
private String function(float i, int f)
{
return ("gfg");
}
private String function(double i, double f)
{
return ("GFG");
}
public static void main(String[] args)
{
Test obj = new Test();
System.out.println(obj.function(1., 20));
}
}
一)1
b) 0
c) 运行时错误
d) 编译错误
答。 (四)
说明:对于方法重载,方法必须有不同的签名。方法的返回类型对不同的方法签名没有贡献,因此上面的代码给出了编译错误。 getdata 1 和 getdata 2 仅在返回类型和 NOT 签名上有所不同。 2) 以下程序的输出是什么?
Java
public class Test
{
public int getData(String temp) throws IOException
{
return 0;
}
public int getData(String temp) throws Exception
{
return 1;
}
public static void main(String[] args)
{
Test obj = new Test();
System.out.println(obj.getData("GFG"));
}
}
一)0
b) 1
c) 编译错误
d) 运行时错误
答。 (C)
说明:抛出不同异常的方法不会重载,因为它们的签名仍然相同。
3) 以下程序的输出是什么?
Java
public class Test
{
private String function()
{
return ("GFG");
}
public final static String function(int data)
{
return ("GeeksforGeeks");
}
public static void main(String[] args)
{
Test obj = new Test();
System.out.println(obj.function());
}
}
a) 编译错误
b) 运行时错误
c) GFG
d) 这些都不是
答。 (C)
说明:与方法关联的访问修饰符不能确定重载的标准。重载方法也可以声明为 final 或 static 而不影响重载标准。
4) 以下程序的输出是什么?
Java
public class Test
{
private String function(String temp, int data)
{
return ("GFG");
}
private String function(int data, String temp)
{
return ("GeeksforGeeks");
}
public static void main(String[] args)
{
Test obj = new Test();
System.out.println(obj.function(4, "GFG"));
}
}
一)GFG
b) GeeksforGeeks
c) 编译错误
d) 运行时错误
答。 (二)
说明:参数的顺序是确定方法重载的重要参数。由于属性的顺序不同,方法被重载。
5) 以下程序的输出是什么?
Java
public class Test
{
private String function(String temp, int data, int sum)
{
return ("GFG");
}
private String function(String temp, int data)
{
return ("GeeksforGeeks");
}
public static void main(String[] args)
{
Test obj = new Test();
System.out.println(obj.function("GFG", 0, 20));
}
}
一)GFG
b) 编译错误
c) 运行时错误
d) GeeksforGeeks
答。 (一种)
说明:参数的顺序是确定方法重载的重要参数。
6) 以下程序的输出是什么?
Java
public class Test
{
private String function(float i, int f)
{
return ("gfg");
}
private String function(double i, double f)
{
return ("GFG");
}
public static void main(String[] args)
{
Test obj = new Test();
System.out.println(obj.function(1., 20));
}
}
一)GFG
b) 编译错误
c) 运行时错误
d) GeeksforGeeks
答。 (一种)
说明:这个真的很简单。不同类型的参数会导致方法重载,因为方法的签名随不同类型的属性而改变。将调用与主函数传递的参数集匹配的任何方法。在这里,传递的第一个参数是 double,因此打印 GFG。