Java面向对象02-方法的签名,重载,构造方法和引用类型数组
来源:互联网 发布:手机windows系统模拟 编辑:程序博客网 时间:2024/04/30 07:38
方法补充
- 方法的签名—方法名和参数列表
- 方法的重载(overload)
-1)同一个类中,方法名相同,参数列表不同
-2)编译器在编译时,会根据签名自动绑定调用相应的方法 - 构造方法
1)常常用于给成员变量赋初值
2)方法名必须与类名相同,无返回值
3)构造方法是在创建对象时自动调用
4)构造方法可以重载
5)若自己不写构造方法,则编译器默认提供一个无参的构造方法
若写了构造方法,则编译器不会默认提供 - this关键字
1)指代当前对象,谁调用就指谁
this只能写在方法体中
2)this的用法:
*this.成员变量—访问成员变量
*this.方法名—–调用方法(很少用)
*this()———-调用构造方法
引用类型数组
- 以俄罗斯方块格子类为例
//Cell类class Cell{ int row; int col; Cell(){ //无参构造方法 this(0,0); //this关键字调用有参构造方法 } Cell(int row,int col){ //有参构造方法 this.row=row; this.col=col; } }
2.
//引用类型数组 Cell[] cells=new Cell[4]; //声明一个格子数组,长度为4 cells[0]=new Cell(2,1); cells[1]=new Cell(3,1); cells[2]=new Cell(2,2); cells[3]=new Cell(3,2); //给格子数组中的每个元素赋值
3.
Cell[] cells=new Cell[]{new Cell(2,1),new Cell(3,1), new Cell(2,2),new Cell(3,2),} //声明一个长度为4的格子数组并赋值
4.
int[][] arr=new int[3][];//以数组为元素的数组 arr[0]=new int[2]; arr[1]=new int[3]; arr[2]=new int[2]; arr[1][0]=100; //第二个元素的第一个元素赋值为100
5.
int[][] arr=new int[3][4]; //3行4列 for(int i=0;i<arr.length;i++){ //行 for(int j=0;j<arr[i].length;j++){ //列 arr[i][j]=100; //给每一个元素循环赋值为100 } }
案例
1.创建一个Cell类
//创建一个格子类public class Cell { int row; int col; Cell(){ //无参构造方法 this(0,0); //this关键字调用有参构造方法 } Cell(int row,int col){ //有参构造方法 this.row=row; this.col=col; } void drop(){ //下落一行 row++; } void moveLeft(){ //左移一列 col--; } void moveRight(){ //右移一列 col++; } String coord(){ //打印坐标 return row+","+col; } }
2.创建一个T类(4个格子组成)
//定义俄罗斯方块中的T类public class T { Cell[] cells; //声明一个格子数组 T(){ this(0,0); //调用有参构造方法 } T(int row,int col){ //有参构造方法,给格子数组元素赋初值 cells=new Cell[4]; cells[0]=new Cell(row,col); cells[1]=new Cell(row,col+1); cells[2]=new Cell(row,col+2); cells[3]=new Cell(row+1,col+1); } void drop(){ //T格子下落一行 for(int i=0;i<cells.length;i++){ cells[i].row++; } } void moveLeft(){ //T格子左移一列 for(int i=0;i<cells.length;i++){ cells[i].col--; } } void moveRight(){ //T格子右移一列 for(int i=0;i<cells.length;i++){ cells[i].col++; } } void print(){ //打印T格子坐标 for(int i=0;i<cells.length;i++){ String str=cells[i].coord(); System.out.println(str); } }}
3.创建一个T类测试类
//创建一个T类测试类public class TTest { public static void main(String[] args) { T t=new T(2,5); //创建一个T类对象并调用有参构造方法 System.out.println("T格子初始坐标:"); t.print(); System.out.println("下落一行后"); t.drop(); t.print(); System.out.println("左移一列后"); t.moveLeft(); t.print(); }}
1 0
- Java面向对象02-方法的签名,重载,构造方法和引用类型数组
- 重载&&构造方法&&this&&引用类型数组
- 面向对象--构造方法、重载和重写
- Java学习之面向对象二-----方法的重载和构造方法
- java :引用类型的转换 方法重载和重写 构造函数 修饰符
- 面向对象第五课,方法重载,构造方法的重载
- 构造方法,方法重载——java面向对象
- JAVA面向对象基础:成员变量、方法、方法的重载、构造函数
- java面向对象的继承以及方法重写和重载
- 达内课程-面向对象之构造方法和重载
- 15-JAVA面向对象-方法的重载
- Java面向对象-方法的重载
- 面向对象_构造方法的重载及注意事项
- java面向对象--this关键字、引用变量、构造方法
- Java面向对象-方法的值传递和引用传递
- 面向对象和方法重载
- Java面向对象基础---名词概念的理解:方法的重载、构造函数、封装性
- java 面向对象的构造方法
- 如何快糙好猛地在Windows下编译CAFFE并使用其matlab和python接口
- 叹为观止!数学大师与漂亮的分形几何学(高清)
- codeforces 632aGrandma Laura and Apples(构造)
- 如何选择软件方向
- 常见算法:C语言求最小公倍数和最大公约数三种算法
- Java面向对象02-方法的签名,重载,构造方法和引用类型数组
- Bootstrap:基本模板
- 应用程序无法正常启动0xc000007b
- android中suid无效解决方法
- 机器视觉相关学习,博客推荐
- JSON与XML的区别比较
- 一些常见iOS面试常见的问题(一)
- Android RecyclerView使用详解(二)
- 多线程 : CountDownLatch 同步工具类 用法