1.构造方法(存在于类)
①创建对象时使用
②构造方法的名字必须和类名相同,并且无类型
示例
class People{
People{ //特点1没有诸如int float的类型标明。
} //特点2方法名和类名完全相同。
int People{} //不是构造方法,因为有类型名。
}
③如果没有构造方法,系统会提供1个构造方法(缺省构造方法)
示例
将以下代码编译后再反编译后(javac➡javap)
class People{
void x(){}
}
会看到以下情况
class People{
People(){}
void x(){}
}
这就是系统自动提供构造方法。但是方法内是空的。
④一个类体内可以有多个构造方法,但要求他们的参数不同,或参数的类型不同,或参数的数目不同
示例
class People{
People(int a,int b){}
People(int a,byte b){}
People(int a,int b,int c){}
//以上三类情况不互斥。
People(int a,int c){}//错误!!!!与People(int a,int b){}互斥!
}
2.创建对象(对类声明的对象进行赋值操作的过程)
注意①,创建的对象中只含有成员变量不含有成员函数。
一个类中的成员函数被类所声明的所有对象所共有,即只有一份,而成员变量是被拷贝到每一个对象中去。
注意②,一个对象的内存大小等于它所有成员变量的大小之和。
举例
class People{
int a;
int b;
}
People xiaoming;
则xiaoming所占的内存大小等于8(一个int类型是4个字节)
①类声明对象
示例
class People{
int a,b,c; //
void f(){} //创建方法
}
public class Test{
public static void main(String args[]){
People a,b;
}
a和b即为类People声明的对象