达内java课程第八天

对于今天的内容,我会以文字和代码相结合来展示,后面会有一个小例子。

方法的签名
    方法签名的结构为:方法名(参数列表) study(参数一,参数二....)
方法重载:在一个类中,方法明相同,参数列表不同。
    void study(){};        //无参数
    void study(int a){};   //有一个参数
    void study(int a,int b){};    //有多个参数
    
    上述的例子都是正确的,方法名相同,但是参数列表不同,所以符合方法重载。
    
注意一点:编译器在编译的时候根据签名绑定调用不同方法。
数组是引用类型,数组对象存在于堆中。
数组的类型可以是基本类型,也可以是引用类型数组。引用类型数组new之后,每一个元素默认初始值为null。
构造方法:
    1.构造方法常常用于给成员变量初始化。
    2.与类同名,并且不含有返回值类型。
    3.构造方法是创建对象时被调用的。
    4.若自己不写构造方法,则编译器默认提供无参构造
    5.构造方法可以重载
this关键字:
    1.this指代当前对象,谁调用指向谁。
    2.用法:
        this.成员变量————访问成员变量
        this.方法————访问方法
        this()————调用构造方法

达内java课程第八天_第1张图片

下面的例子是构造一个上面俄罗斯方块中的T型为例。这是为了做俄罗斯方块前期的知识准备。

package day08;
/**
 * 创建一个T型的类
 * 最后打印出位置
 * @author zengy_000
 *
 */
public class T {
	//定义一个属性,为Cell类型,对应之前文章
	Cell[] cells;
	
	//构造函数
	T(int row,int col){
		cells=new Cell[4];//这个是生成一个对象数组,其实没有真的创建对象
		cells[0]=new Cell(row,col);//这里才是创建对象
		cells[1]=new Cell(row,col);//只有经过创建对象才会有初始值
		cells[2]=new Cell(row,col);//不然默认值是null
		cells[3]=new Cell(row,col);//就不能调用cells[i].row这样的
	}
	
	//下移方法
	void drop(){
		for(int i=0;i<cells.length;i++){
			cells[i].row++;
		}
	}
	
	//左移方法
	void moveLeft(){
		for(int i=0;i<cells.length;i++){
			cells[i].col--;
		}
	}
}


你可能感兴趣的:(this,构造方法,方法重载)