提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一、构造器
1.格式:
【修饰符】 类名 (形参列表){
//n条语句
}
2.特点:
(1)通过new关键字调用。
(2)虽然有返回值,但不能定义返回类型,不能再构造器里调用return。
(3)如果没有定义构造器,系统会自动定义一个无参的构造函数。
(4)构造器的方法名必须跟类名一致。
3.作用:构造该类的对象,经常也用来初始化对象的属性。
二、重载
1.定义:指一个类中可以定义有相同的名字,但参数不同的多个方法(调用时会根据不同的参数表选择对应的方法)。
注:即调用时不构成歧义。
2.特点:同一个类,同一个方法名,参数列表不同(类型,个数,顺序)。
例如:
//个数不同
class Math{
public int add(int a,int b){
return a+b;
}
public int add(int a,int b,int c){
return a+b+c;
}
}
//类型不同
class Math{
public int add(double a,int b){
return (int)a+b;
}
public int add(int a,int b){
return a+b;
}
}
//顺序不同
class Math{
public int add(double a,int b){
return (int)a+b;
}
public int add(int a,double b){
return (int)a+b;
}
}
注:只有返回值不同或形参的名称不同不构成方法重载。
例如:
//返回值不同
class Math{
public double add(int a,int b){
return a+b;
}
public int add(int a,int b){
return a+b;
}
}
//返回值不同
class Math{
public int add(int a,int b){
return a+b;
}
public int add(int c,int d){
return c+d;
}
}
三、static
1.定义:在类中,用static声明的成员变量为静态成员变量。
2.特点:
(1)不需要对象,就可以调用(类名,方法名)。
(2)在static方法中不可访问非static的成员。
注:在非静态方法中可以调用static的成员。
例如:
public class Stu{
string name;
int id;
static int ss;
public static void fun(){
System.out.println(ss);
}
public void study(){
fun();
}
四、this
1.普通方法中,this总是指向调用该方法的对象。
2.构造方法中,this总是指向正要初始化的对象。
3.this不能用于static方法。
例如:
public class Stu{
string name;
int id;
public Stu(string name,int id){
this();//通过this调用其他构造方法,必须位于第一句。
this.name=name;
this.id=id;
//this.name指代上述类中定义的name,而name只是形参。
}
public Stu(){
System.out.println("student");
}
}