如何创建一个方法来打印整数和字符串? 我试过了
public static void print(String txt){
System.out.println(txt);
}
这样我只能打印字符串。
对不起我的noobish问题,但我尝试搜索,但没有(我可能使用错误的关键字)
感谢您提前。
答案 0 :(得分:4)
除了不同的签名,您还可以使用通用参数,例如Object,让Java为您做一些autoboxing:
class Untitled {
public static void main(String[] args)
{
U.log("test");
U.log(45);
}
// U(tility)
public static class U
{
public static void log( Object o )
{
System.out.println( o.toString() );
}
}
}
我使用其中一个在我工作的每个基于Java的项目中都采用任意数量的参数。
答案 1 :(得分:3)
您可以使用相同的方法名称使用不同的签名。
public static void print(String txt){
System.out.println(txt);
}
public static void print(int txt){
System.out.println(txt);
}
您甚至可以使用相同的逻辑“解析”或“清理”参数,并减少代码..这样的事情:
public static void print(String txt){
System.out.println(txt);
}
public static void print(int number){
print(Integer.toString(number));
}
答案 2 :(得分:2)
重载。
public static void print (String txt) {
System.out.println(txt);
}
public static void print (int txt) {
System.out.println(txt);
}
或将所有值转换为字符串,然后使用Object toString
方法将其传递给函数。
答案 3 :(得分:1)
您需要了解的内容称为method overloading
。重载方法就是那些
它们具有相同的名称但具有不同的方法签名。这将允许您对不同的数据执行相同的操作。
例如,计算各种2D形状的面积。您可以使用一种方法:
public void area(int length,int breadth){ // for rectangle and squares
//logic here
}
和另一个如此:
public void area(int radius){ // guess who ?
//logic here
}
现在,根据您的需要,调用适当的方法。
这应该是porfiriopartida
已经发布的答案的补充。
以下是教程:http://docs.oracle.com/javase/tutorial/java/javaOO/methods.html
Object
类作为方法的参数。 Object
是所有Java类的大爸爸
教程:http://journals.ecs.soton.ac.uk/java/tutorial/java/javaOO/objectclass.html
答案 4 :(得分:0)
您可以使用Object对象。它是所有java对象的泛型类。
public static void print(Object txt){
System.out.println(txt);
}
答案 5 :(得分:0)
Using generics
----------------
package simlpe;
public class simple
{
public static < E > void print( E input)
{
System.out.println(input);
}
public static void main( String args[] )
{
// Creates a Integer, Double and Character
Integer A = 1;
Double d = 1.1;
Character ch = 'H';
print( A ); // pass an Integer
print( d ); // pass a Double
print( ch ); // pass a Character
}
}
答案 6 :(得分:0)
class SamplePrint
{
public static void main(String txt)
{
System.out.println(txt);
}
public static void main(int txt)
{
System.out.println(txt);
}
public static void main(String args[])
{
// This will automatically calls to print() which has string type arguments
print("Hello Friend");
// This will automatically calls to print() which has int type arguments
print(100);
}
}