构造函数严格来说,不是函数,因为他没有返回值
构造函数,不调用他,在对象创建成立的时候就会加载
class A
{
private int i,j;
public A(int a, int b)
{
i = a;
j = b;
}
void show()
{
System.out.printf("%d,%d",i,j);
}
}
class test
{
public static void main(String[] args)
A aa = new A(1,2); // 在aa对象创建的时候,就会把1,2传递给a,b
aa.show();
}
函数重载
有很多函数,功能一样,但是参数个数,以及参数的类型不一样
这可以用一个同样的函数名来表示
class A
{
int add(int a,int b)
{
return a + b;
}
int add(int a,int b,int c)
{
return a + b + c;
}
}
class test
{
public static void main(String[] atgs)
{
A aa = new A();
System.out.printf("%d", aa.add(1,2));
System.out.printf("%d", aa.add(1,2,3));
}
}
类中的成员默认值问题
在java中,局部变量必须初始化,类中的成员则不是这样
类中的成员如果没有初始化,数值类型默认为0,bollean类型默认为FALSE,引用类型默认为NULL
class A
{
int i;
}
public static void main(String[] args)
{
A aa = new A();
int k;
System.out.printf("%d", aa.i); //这样是对的,i的值为0
System.out.printf("%d", aa.k); //这样则是错的,因为k是局部变量,i是类A中的成员
}