Mega Code Archive

 
Categories / Java / Class
 

Promotion of primitives and overloading

// : c04:PrimitiveOverloading.java // Promotion of primitives and overloading. // From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002 // www.BruceEckel.com. See copyright notice in CopyRight.txt. public class PrimitiveOverloading {   void f1(char x) {     System.out.println("f1(char)");   }   void f1(byte x) {     System.out.println("f1(byte)");   }   void f1(short x) {     System.out.println("f1(short)");   }   void f1(int x) {     System.out.println("f1(int)");   }   void f1(long x) {     System.out.println("f1(long)");   }   void f1(float x) {     System.out.println("f1(float)");   }   void f1(double x) {     System.out.println("f1(double)");   }   void f2(byte x) {     System.out.println("f2(byte)");   }   void f2(short x) {     System.out.println("f2(short)");   }   void f2(int x) {     System.out.println("f2(int)");   }   void f2(long x) {     System.out.println("f2(long)");   }   void f2(float x) {     System.out.println("f2(float)");   }   void f2(double x) {     System.out.println("f2(double)");   }   void f3(short x) {     System.out.println("f3(short)");   }   void f3(int x) {     System.out.println("f3(int)");   }   void f3(long x) {     System.out.println("f3(long)");   }   void f3(float x) {     System.out.println("f3(float)");   }   void f3(double x) {     System.out.println("f3(double)");   }   void f4(int x) {     System.out.println("f4(int)");   }   void f4(long x) {     System.out.println("f4(long)");   }   void f4(float x) {     System.out.println("f4(float)");   }   void f4(double x) {     System.out.println("f4(double)");   }   void f5(long x) {     System.out.println("f5(long)");   }   void f5(float x) {     System.out.println("f5(float)");   }   void f5(double x) {     System.out.println("f5(double)");   }   void f6(float x) {     System.out.println("f6(float)");   }   void f6(double x) {     System.out.println("f6(double)");   }   void f7(double x) {     System.out.println("f7(double)");   }   void testConstVal() {     System.out.println("Testing with 5");     f1(5);     f2(5);     f3(5);     f4(5);     f5(5);     f6(5);     f7(5);   }   void testChar() {     char x = 'x';     System.out.println("char argument:");     f1(x);     f2(x);     f3(x);     f4(x);     f5(x);     f6(x);     f7(x);   }   void testByte() {     byte x = 0;     System.out.println("byte argument:");     f1(x);     f2(x);     f3(x);     f4(x);     f5(x);     f6(x);     f7(x);   }   void testShort() {     short x = 0;     System.out.println("short argument:");     f1(x);     f2(x);     f3(x);     f4(x);     f5(x);     f6(x);     f7(x);   }   void testInt() {     int x = 0;     System.out.println("int argument:");     f1(x);     f2(x);     f3(x);     f4(x);     f5(x);     f6(x);     f7(x);   }   void testLong() {     long x = 0;     System.out.println("long argument:");     f1(x);     f2(x);     f3(x);     f4(x);     f5(x);     f6(x);     f7(x);   }   void testFloat() {     float x = 0;     System.out.println("float argument:");     f1(x);     f2(x);     f3(x);     f4(x);     f5(x);     f6(x);     f7(x);   }   void testDouble() {     double x = 0;     System.out.println("double argument:");     f1(x);     f2(x);     f3(x);     f4(x);     f5(x);     f6(x);     f7(x);   }   public static void main(String[] args) {     PrimitiveOverloading p = new PrimitiveOverloading();     p.testConstVal();     p.testChar();     p.testByte();     p.testShort();     p.testInt();     p.testLong();     p.testFloat();     p.testDouble();   } } ///:~