1、方法重载的应用
规则:同一个类中,方法名相同参数列表不同(参数个数不同、参数顺序不同、参数类型不同),和访问修饰符、返回值类型无关
void Student(String name, int age) {
......;
......;
}
void Student(int name,double age) {
......;
......;
}
2、传值和传地址
基本数据类型之间传递的是值,改变一个变量的值,不会同步改变另一个变量的值
引用类型的数据传递参数的时候,实际传的是地址,传进去的参数发生的改变,实际参数也会改变
原理:
Student a=new Student () ;
Student b = a;
b.age=10;//此时a.age也是10
b new Student() ;
b.age=18;//此时因为地址改变,不会再影响到a
3、构造方法
public 类型名(){
}
此外,一旦自定义了有参构造,原来的无参构造就不再提供,因此在定义有参构造的同时,应该显式的定义无参构造
public 类名(){} //无参构造
public 类名(参数){}//有参构造
//调用的时候:类型名 对象名=new 类型名(实参列表)
4、成员变量和局部变量
public class Cup {
int container;//成员变量
String color;
void fan(int a,int b) {//局部变量
}
}
成员变量的作用域是类的对象(所有成员),局部变量的作用域是该变量被声明的作用域。
关于this指向:
如果成员变量和局部变量同名,则变量名指向局部变量(就近原则),此时应该用this.变量名来指向成员变量
public class Student {
String name;
int age;
//快捷键 alt+Insert
public Student(String name, int age) {
this.name = name;
this.age = age;
}
}