对象的行为
形式参数和实际参数:
定义:一个方法的签名包括一个形式参数的列表,形式参数列表于声明传递到方法中的数据类型。
传递给形式参数的数据称为实际参数。当方法被调用时,实际参数必须传递给形式参数列表中的每个形式参数
按值调用:当实际参数传递给形式参数时,实际参数的数据被复制给形式参数。在方法调用之间复制数据的过程称为按值调用
工作原理:不管传递给方法的实际参数是什么类型,相关形式参数都会得到该数据的一份拷贝(如果传给方法的是一个对象,那么,传入的不是对象本事,而是对象的引用被传入)
方法重载:
定义:方法名相同,但参数列表不同、参数类型不同、参数位置不同。(因为参数的种种不同,从而使编译器能够区分我们想调用的是哪一个)
例如:
//整数乘以整数 public int multiply(int x, int y){ return x * y; }
//浮点数乘以浮点数 public double multiply(double x, double y){ return x * y; }
//整数乘以浮点数 public double multiply(int x, double y){ return x * y; }
构造器:
定义:构造器是类中的一个特殊方法,该方法在对象实例化时被调用。
例如:Student stu = new Student();
new Student();这部分正是调用了Student类中的构造方法
特点: 1、没有返回类型(不能声明返回值,也不能返回void)
2、方法名和类名相同
作用: 1、开辟内存空间 2、初始化所有属性 3、执行构造方法剩余代码
当为类添加多个构造器时,应用了方法重载的规则。每个构造器必须有一个唯一的形式参数列表,以与其它构造器相区别
默认构造器: 默认构造器用public访问修饰符限定,没有形式参数,不包含任何语句,而且不做任何事情
关键字this: 调用本类中其它构造器,且必须是当前构造器的第一行
例如: public class Television{
public int channel;
public int volume;
//这个无参构造方法调用了有两个参数的构造方法
public Television(){
this(4, 10); //===========this关键字写在本方法中的首行
System.out.println("无参构造方法内");
}
//这是有一个参数的构造方法,调用了有两个参数的构造方法
public Television(int c){
this(c, 10); //===========this关键字写在本方法中的首行
System.out.println("在有一个参数的构造方法内");
} //这是有两个参数的构造方法
public Television(int c, int v){
System.out.println("在有两个参数的构造方法内");
channel = c;
volume = v; }
} (在Java中,this关键字有两种不同的用处。构造器中是调用本类中其它构造方法。类中代表本类中对象本身的引用)