<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FClass%2FOverloading</id>
		<title>Java/Class/Overloading - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FClass%2FOverloading"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Class/Overloading&amp;action=history"/>
		<updated>2026-04-19T02:03:37Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/Class/Overloading&amp;diff=7175&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Class/Overloading&amp;diff=7175&amp;oldid=prev"/>
				<updated>2010-06-01T06:36:21Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 06:36, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/Class/Overloading&amp;diff=7174&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Class/Overloading&amp;diff=7174&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:44Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Demonstration of both constructor and ordinary method overloading ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// : c04:JavaOverloading.java&lt;br /&gt;
// Demonstration of both constructor and ordinary method overloading.&lt;br /&gt;
// From &amp;quot;Thinking in Java, 3rd ed.&amp;quot; (c) Bruce Eckel 2002&lt;br /&gt;
// www.BruceEckel.ru. See copyright notice in CopyRight.txt.&lt;br /&gt;
&lt;br /&gt;
class Tree {&lt;br /&gt;
  int height;&lt;br /&gt;
  Tree() {&lt;br /&gt;
    System.out.println(&amp;quot;Planting a seedling&amp;quot;);&lt;br /&gt;
    height = 0;&lt;br /&gt;
  }&lt;br /&gt;
  Tree(int i) {&lt;br /&gt;
    System.out.println(&amp;quot;Creating new Tree that is &amp;quot; + i + &amp;quot; feet tall&amp;quot;);&lt;br /&gt;
    height = i;&lt;br /&gt;
  }&lt;br /&gt;
  void info() {&lt;br /&gt;
    System.out.println(&amp;quot;Tree is &amp;quot; + height + &amp;quot; feet tall&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void info(String s) {&lt;br /&gt;
    System.out.println(s + &amp;quot;: Tree is &amp;quot; + height + &amp;quot; feet tall&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public class JavaOverloading {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    for (int i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
      Tree t = new Tree(i);&lt;br /&gt;
      t.info();&lt;br /&gt;
      t.info(&amp;quot;overloaded method&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    // Overloaded constructor:&lt;br /&gt;
    new Tree();&lt;br /&gt;
  }&lt;br /&gt;
} ///:~&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demonstration of overriding fields ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Copyright (c) Ian F. Darwin, http://www.darwinsys.ru/, 1996-2002.&lt;br /&gt;
 * All rights reserved. Software written by Ian F. Darwin and others.&lt;br /&gt;
 * $Id: LICENSE,v 1.8 2004/02/09 03:33:38 ian Exp $&lt;br /&gt;
 *&lt;br /&gt;
 * Redistribution and use in source and binary forms, with or without&lt;br /&gt;
 * modification, are permitted provided that the following conditions&lt;br /&gt;
 * are met:&lt;br /&gt;
 * 1. Redistributions of source code must retain the above copyright&lt;br /&gt;
 *    notice, this list of conditions and the following disclaimer.&lt;br /&gt;
 * 2. Redistributions in binary form must reproduce the above copyright&lt;br /&gt;
 *    notice, this list of conditions and the following disclaimer in the&lt;br /&gt;
 *    documentation and/or other materials provided with the distribution.&lt;br /&gt;
 *&lt;br /&gt;
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS&amp;quot;&amp;quot;&lt;br /&gt;
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED&lt;br /&gt;
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR&lt;br /&gt;
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS&lt;br /&gt;
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR&lt;br /&gt;
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF&lt;br /&gt;
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS&lt;br /&gt;
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN&lt;br /&gt;
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)&lt;br /&gt;
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE&lt;br /&gt;
 * POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;
 * &lt;br /&gt;
 * Java, the Duke mascot, and all variants of Sun&amp;quot;s Java &amp;quot;steaming coffee&lt;br /&gt;
 * cup&amp;quot; logo are trademarks of Sun Microsystems. Sun&amp;quot;s, and James Gosling&amp;quot;s,&lt;br /&gt;
 * pioneering role in inventing and promulgating (and standardizing) the Java &lt;br /&gt;
 * language and environment is gratefully acknowledged.&lt;br /&gt;
 * &lt;br /&gt;
 * The pioneering role of Dennis Ritchie and Bjarne Stroustrup, of AT&amp;amp;T, for&lt;br /&gt;
 * inventing predecessor languages C and C++ is also gratefully acknowledged.&lt;br /&gt;
 */&lt;br /&gt;
/** Demonstration of overriding fields. */&lt;br /&gt;
public class OverrideField {&lt;br /&gt;
  public static void main(String[] av) {&lt;br /&gt;
    System.out.println(&amp;quot;OA&amp;quot;s version of getAttr returns: &amp;quot; +&lt;br /&gt;
      new OA().getAttr());&lt;br /&gt;
    System.out.println(&amp;quot;OB&amp;quot;s version of getAttr returns: &amp;quot; +&lt;br /&gt;
      new OB().getAttr());&lt;br /&gt;
    // Declared as OA, instantiated as OB, so gets OB&amp;quot;s version of things.&lt;br /&gt;
    OA c = new OB();&lt;br /&gt;
    System.out.println(&amp;quot;C&amp;quot;s version of getAttr returns: &amp;quot; +&lt;br /&gt;
      c.getAttr());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class OA {&lt;br /&gt;
  final int attr = 1;&lt;br /&gt;
  int getAttr() {&lt;br /&gt;
    System.out.println(&amp;quot;In OA.getAttr&amp;quot;);&lt;br /&gt;
    return attr;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class OB extends OA {&lt;br /&gt;
  final int attr = 2;&lt;br /&gt;
  int getAttr() {&lt;br /&gt;
    System.out.println(&amp;quot;In OB.getAttr&amp;quot;);&lt;br /&gt;
    super.getAttr(); // Just to show flow of control&lt;br /&gt;
    return attr;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demotion of primitives and overloading ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// : c04:Demotion.java&lt;br /&gt;
// Demotion of primitives and overloading.&lt;br /&gt;
// From &amp;quot;Thinking in Java, 3rd ed.&amp;quot; (c) Bruce Eckel 2002&lt;br /&gt;
// www.BruceEckel.ru. See copyright notice in CopyRight.txt.&lt;br /&gt;
public class Demotion {&lt;br /&gt;
  void f1(char x) {&lt;br /&gt;
    System.out.println(&amp;quot;f1(char)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f1(byte x) {&lt;br /&gt;
    System.out.println(&amp;quot;f1(byte)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f1(short x) {&lt;br /&gt;
    System.out.println(&amp;quot;f1(short)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f1(int x) {&lt;br /&gt;
    System.out.println(&amp;quot;f1(int)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f1(long x) {&lt;br /&gt;
    System.out.println(&amp;quot;f1(long)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f1(float x) {&lt;br /&gt;
    System.out.println(&amp;quot;f1(float)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f1(double x) {&lt;br /&gt;
    System.out.println(&amp;quot;f1(double)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f2(char x) {&lt;br /&gt;
    System.out.println(&amp;quot;f2(char)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f2(byte x) {&lt;br /&gt;
    System.out.println(&amp;quot;f2(byte)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f2(short x) {&lt;br /&gt;
    System.out.println(&amp;quot;f2(short)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f2(int x) {&lt;br /&gt;
    System.out.println(&amp;quot;f2(int)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f2(long x) {&lt;br /&gt;
    System.out.println(&amp;quot;f2(long)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f2(float x) {&lt;br /&gt;
    System.out.println(&amp;quot;f2(float)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f3(char x) {&lt;br /&gt;
    System.out.println(&amp;quot;f3(char)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f3(byte x) {&lt;br /&gt;
    System.out.println(&amp;quot;f3(byte)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f3(short x) {&lt;br /&gt;
    System.out.println(&amp;quot;f3(short)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f3(int x) {&lt;br /&gt;
    System.out.println(&amp;quot;f3(int)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f3(long x) {&lt;br /&gt;
    System.out.println(&amp;quot;f3(long)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f4(char x) {&lt;br /&gt;
    System.out.println(&amp;quot;f4(char)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f4(byte x) {&lt;br /&gt;
    System.out.println(&amp;quot;f4(byte)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f4(short x) {&lt;br /&gt;
    System.out.println(&amp;quot;f4(short)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f4(int x) {&lt;br /&gt;
    System.out.println(&amp;quot;f4(int)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f5(char x) {&lt;br /&gt;
    System.out.println(&amp;quot;f5(char)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f5(byte x) {&lt;br /&gt;
    System.out.println(&amp;quot;f5(byte)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f5(short x) {&lt;br /&gt;
    System.out.println(&amp;quot;f5(short)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f6(char x) {&lt;br /&gt;
    System.out.println(&amp;quot;f6(char)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f6(byte x) {&lt;br /&gt;
    System.out.println(&amp;quot;f6(byte)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f7(char x) {&lt;br /&gt;
    System.out.println(&amp;quot;f7(char)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void testDouble() {&lt;br /&gt;
    double x = 0;&lt;br /&gt;
    System.out.println(&amp;quot;double argument:&amp;quot;);&lt;br /&gt;
    f1(x);&lt;br /&gt;
    f2((float) x);&lt;br /&gt;
    f3((long) x);&lt;br /&gt;
    f4((int) x);&lt;br /&gt;
    f5((short) x);&lt;br /&gt;
    f6((byte) x);&lt;br /&gt;
    f7((char) x);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Demotion p = new Demotion();&lt;br /&gt;
    p.testDouble();&lt;br /&gt;
  }&lt;br /&gt;
} ///:~&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overloaded constructor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
public class Point {&lt;br /&gt;
  int x, y;&lt;br /&gt;
  Point(int x, int y) // Overloaded constructor&lt;br /&gt;
  {&lt;br /&gt;
    this.x = x;&lt;br /&gt;
    this.y = y;&lt;br /&gt;
  }&lt;br /&gt;
  Point(Point p) // Overloaded constructor&lt;br /&gt;
  {&lt;br /&gt;
    this(p.x, p.y);&lt;br /&gt;
  } // Calls the first constructor&lt;br /&gt;
  void move(int dx, int dy) {&lt;br /&gt;
    x += dx;&lt;br /&gt;
    y += dy;&lt;br /&gt;
  }&lt;br /&gt;
  public String toString() {&lt;br /&gt;
    return &amp;quot;(&amp;quot; + x + &amp;quot;, &amp;quot; + y + &amp;quot;)&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overloaded method ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class Overloading {&lt;br /&gt;
  double method(int i) {&lt;br /&gt;
    return i;&lt;br /&gt;
  }&lt;br /&gt;
  boolean method(boolean b) {&lt;br /&gt;
    return !b;&lt;br /&gt;
  }&lt;br /&gt;
  static double method(int x, double y) {&lt;br /&gt;
    return x + y + 1;&lt;br /&gt;
  }&lt;br /&gt;
  static double method(double x, double y) {&lt;br /&gt;
    return x + y + 3;&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    System.out.println(method(10, 20)); &lt;br /&gt;
    System.out.println(method(10, 20.0)); &lt;br /&gt;
    System.out.println(method(10.0, 20)); &lt;br /&gt;
    System.out.println(method(10.0, 20.0)); &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overloading a base-class method name in a derived class does not hide the base-class versions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// : c06:Hide.java&lt;br /&gt;
// Overloading a base-class method name in a derived class does not hide the base-class versions.&lt;br /&gt;
// From &amp;quot;Thinking in Java, 3rd ed.&amp;quot; (c) Bruce Eckel 2002&lt;br /&gt;
// www.BruceEckel.ru. See copyright notice in CopyRight.txt.&lt;br /&gt;
class Homer {&lt;br /&gt;
  char doh(char c) {&lt;br /&gt;
    System.out.println(&amp;quot;doh(char)&amp;quot;);&lt;br /&gt;
    return &amp;quot;d&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  float doh(float f) {&lt;br /&gt;
    System.out.println(&amp;quot;doh(float)&amp;quot;);&lt;br /&gt;
    return 1.0f;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Milhouse {&lt;br /&gt;
}&lt;br /&gt;
class Bart extends Homer {&lt;br /&gt;
  void doh(Milhouse m) {&lt;br /&gt;
    System.out.println(&amp;quot;doh(Milhouse)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public class Hide {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Bart b = new Bart();&lt;br /&gt;
    b.doh(1);&lt;br /&gt;
    b.doh(&amp;quot;x&amp;quot;);&lt;br /&gt;
    b.doh(1.0f);&lt;br /&gt;
    b.doh(new Milhouse());&lt;br /&gt;
  }&lt;br /&gt;
} ///:~&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overloading based on the order of the arguments ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// : c04:OverloadingOrder.java&lt;br /&gt;
// Overloading based on the order of the arguments.&lt;br /&gt;
// From &amp;quot;Thinking in Java, 3rd ed.&amp;quot; (c) Bruce Eckel 2002&lt;br /&gt;
// www.BruceEckel.ru. See copyright notice in CopyRight.txt.&lt;br /&gt;
public class OverloadingOrder {&lt;br /&gt;
  static void print(String s, int i) {&lt;br /&gt;
    System.out.println(&amp;quot;String: &amp;quot; + s + &amp;quot;, int: &amp;quot; + i);&lt;br /&gt;
  }&lt;br /&gt;
  static void print(int i, String s) {&lt;br /&gt;
    System.out.println(&amp;quot;int: &amp;quot; + i + &amp;quot;, String: &amp;quot; + s);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    print(&amp;quot;String first&amp;quot;, 11);&lt;br /&gt;
    print(99, &amp;quot;Int first&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
} ///:~&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Promotion of primitives and overloading ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// : c04:PrimitiveOverloading.java&lt;br /&gt;
// Promotion of primitives and overloading.&lt;br /&gt;
// From &amp;quot;Thinking in Java, 3rd ed.&amp;quot; (c) Bruce Eckel 2002&lt;br /&gt;
// www.BruceEckel.ru. See copyright notice in CopyRight.txt.&lt;br /&gt;
public class PrimitiveOverloading {&lt;br /&gt;
  void f1(char x) {&lt;br /&gt;
    System.out.println(&amp;quot;f1(char)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f1(byte x) {&lt;br /&gt;
    System.out.println(&amp;quot;f1(byte)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f1(short x) {&lt;br /&gt;
    System.out.println(&amp;quot;f1(short)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f1(int x) {&lt;br /&gt;
    System.out.println(&amp;quot;f1(int)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f1(long x) {&lt;br /&gt;
    System.out.println(&amp;quot;f1(long)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f1(float x) {&lt;br /&gt;
    System.out.println(&amp;quot;f1(float)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f1(double x) {&lt;br /&gt;
    System.out.println(&amp;quot;f1(double)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f2(byte x) {&lt;br /&gt;
    System.out.println(&amp;quot;f2(byte)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f2(short x) {&lt;br /&gt;
    System.out.println(&amp;quot;f2(short)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f2(int x) {&lt;br /&gt;
    System.out.println(&amp;quot;f2(int)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f2(long x) {&lt;br /&gt;
    System.out.println(&amp;quot;f2(long)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f2(float x) {&lt;br /&gt;
    System.out.println(&amp;quot;f2(float)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f2(double x) {&lt;br /&gt;
    System.out.println(&amp;quot;f2(double)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f3(short x) {&lt;br /&gt;
    System.out.println(&amp;quot;f3(short)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f3(int x) {&lt;br /&gt;
    System.out.println(&amp;quot;f3(int)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f3(long x) {&lt;br /&gt;
    System.out.println(&amp;quot;f3(long)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f3(float x) {&lt;br /&gt;
    System.out.println(&amp;quot;f3(float)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f3(double x) {&lt;br /&gt;
    System.out.println(&amp;quot;f3(double)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f4(int x) {&lt;br /&gt;
    System.out.println(&amp;quot;f4(int)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f4(long x) {&lt;br /&gt;
    System.out.println(&amp;quot;f4(long)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f4(float x) {&lt;br /&gt;
    System.out.println(&amp;quot;f4(float)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f4(double x) {&lt;br /&gt;
    System.out.println(&amp;quot;f4(double)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f5(long x) {&lt;br /&gt;
    System.out.println(&amp;quot;f5(long)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f5(float x) {&lt;br /&gt;
    System.out.println(&amp;quot;f5(float)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f5(double x) {&lt;br /&gt;
    System.out.println(&amp;quot;f5(double)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f6(float x) {&lt;br /&gt;
    System.out.println(&amp;quot;f6(float)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f6(double x) {&lt;br /&gt;
    System.out.println(&amp;quot;f6(double)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f7(double x) {&lt;br /&gt;
    System.out.println(&amp;quot;f7(double)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void testConstVal() {&lt;br /&gt;
    System.out.println(&amp;quot;Testing with 5&amp;quot;);&lt;br /&gt;
    f1(5);&lt;br /&gt;
    f2(5);&lt;br /&gt;
    f3(5);&lt;br /&gt;
    f4(5);&lt;br /&gt;
    f5(5);&lt;br /&gt;
    f6(5);&lt;br /&gt;
    f7(5);&lt;br /&gt;
  }&lt;br /&gt;
  void testChar() {&lt;br /&gt;
    char x = &amp;quot;x&amp;quot;;&lt;br /&gt;
    System.out.println(&amp;quot;char argument:&amp;quot;);&lt;br /&gt;
    f1(x);&lt;br /&gt;
    f2(x);&lt;br /&gt;
    f3(x);&lt;br /&gt;
    f4(x);&lt;br /&gt;
    f5(x);&lt;br /&gt;
    f6(x);&lt;br /&gt;
    f7(x);&lt;br /&gt;
  }&lt;br /&gt;
  void testByte() {&lt;br /&gt;
    byte x = 0;&lt;br /&gt;
    System.out.println(&amp;quot;byte argument:&amp;quot;);&lt;br /&gt;
    f1(x);&lt;br /&gt;
    f2(x);&lt;br /&gt;
    f3(x);&lt;br /&gt;
    f4(x);&lt;br /&gt;
    f5(x);&lt;br /&gt;
    f6(x);&lt;br /&gt;
    f7(x);&lt;br /&gt;
  }&lt;br /&gt;
  void testShort() {&lt;br /&gt;
    short x = 0;&lt;br /&gt;
    System.out.println(&amp;quot;short argument:&amp;quot;);&lt;br /&gt;
    f1(x);&lt;br /&gt;
    f2(x);&lt;br /&gt;
    f3(x);&lt;br /&gt;
    f4(x);&lt;br /&gt;
    f5(x);&lt;br /&gt;
    f6(x);&lt;br /&gt;
    f7(x);&lt;br /&gt;
  }&lt;br /&gt;
  void testInt() {&lt;br /&gt;
    int x = 0;&lt;br /&gt;
    System.out.println(&amp;quot;int argument:&amp;quot;);&lt;br /&gt;
    f1(x);&lt;br /&gt;
    f2(x);&lt;br /&gt;
    f3(x);&lt;br /&gt;
    f4(x);&lt;br /&gt;
    f5(x);&lt;br /&gt;
    f6(x);&lt;br /&gt;
    f7(x);&lt;br /&gt;
  }&lt;br /&gt;
  void testLong() {&lt;br /&gt;
    long x = 0;&lt;br /&gt;
    System.out.println(&amp;quot;long argument:&amp;quot;);&lt;br /&gt;
    f1(x);&lt;br /&gt;
    f2(x);&lt;br /&gt;
    f3(x);&lt;br /&gt;
    f4(x);&lt;br /&gt;
    f5(x);&lt;br /&gt;
    f6(x);&lt;br /&gt;
    f7(x);&lt;br /&gt;
  }&lt;br /&gt;
  void testFloat() {&lt;br /&gt;
    float x = 0;&lt;br /&gt;
    System.out.println(&amp;quot;float argument:&amp;quot;);&lt;br /&gt;
    f1(x);&lt;br /&gt;
    f2(x);&lt;br /&gt;
    f3(x);&lt;br /&gt;
    f4(x);&lt;br /&gt;
    f5(x);&lt;br /&gt;
    f6(x);&lt;br /&gt;
    f7(x);&lt;br /&gt;
  }&lt;br /&gt;
  void testDouble() {&lt;br /&gt;
    double x = 0;&lt;br /&gt;
    System.out.println(&amp;quot;double argument:&amp;quot;);&lt;br /&gt;
    f1(x);&lt;br /&gt;
    f2(x);&lt;br /&gt;
    f3(x);&lt;br /&gt;
    f4(x);&lt;br /&gt;
    f5(x);&lt;br /&gt;
    f6(x);&lt;br /&gt;
    f7(x);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    PrimitiveOverloading p = new PrimitiveOverloading();&lt;br /&gt;
    p.testConstVal();&lt;br /&gt;
    p.testChar();&lt;br /&gt;
    p.testByte();&lt;br /&gt;
    p.testShort();&lt;br /&gt;
    p.testInt();&lt;br /&gt;
    p.testLong();&lt;br /&gt;
    p.testFloat();&lt;br /&gt;
    p.testDouble();&lt;br /&gt;
  }&lt;br /&gt;
} ///:~&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>