1、如果一个java源文件中定义了多个类,那么这些类中最多只有一个类是public的,换句话说定义的多个类都不可以是public的。
2、方法重载(overlord)。表示两个或多个方法名字相同,但方法参数不同,方法参数不同有两层含义:1)参数个数不同。2)参数类型不同。注意:方法的返回值对重载没有任何影响。(见举例OverloadTest.java)
3、构造方法的重载:只用看参数来判断是否重载,构造方法没有返回值;如果想在一个构造方法中调用另一个构造方法,可以使用this()方法调用;this()括号中的参数表示目标构造方法的参数。
public class ConstructorOverload
{
public ConstructorOverload()
{
this(3); //表示调用当前类里,接收整型参数的构造方法
System.out.println("test");
}
public ConstructorOverload(int i)
{
System.out.println(++i);
}
public static void main(String[] args)
{
ConstructorOverload col = new ConstructorOverload();//因为括号里没有参数,所以调用不带参数的构造方法
}
}
this()必须作为构造方法的第一条语句,也就是说 this()之前不能有任何可执行的代码
public ConstructorOverload()
{
System.out.println("test");
this(3);
}
运行结果出错
4、方法和方法之间也可以相互调用
public class OverloadTest
{
public int add(int a,int b)
{
return a + b;
}
public int add(int a,int b,int c)
{
System.out.println(add(a,b));
return a + b + c;
}
public static void main(String[] args)
{
OverloadTest test = new OverloadTest();
int result = test.add(1,2);
int result2 = test.add(2,3,4);
System.out.println(result);
System.out.println(result2);
}
}
运行结果:
5
3
9