package day04;
import java.util.Arrays;
/*
* 对象数组:元素是对象(元素是对象的引用)的数组
*/
public class Demo05 {
public static void main(String[] args) {
Point[] ary;//声明了数组变量ary
ary = new Point[3];//创建了数组对象new Point[3]
//new Point[3]实际情况:{null,null,null}
//元素自动初始化为null,并不创建元素对象!
System.out.println(ary[1]);//null
ary[0] = new Point(3,4);
ary[1] = new Point(5,6);
ary[2] = new Point(1,2);
System.out.println(ary[2]);//调用了对象的toString()
System.out.println(ary[2].toString());
System.out.println(Arrays.toString(ary));
ary = new Point[]{new Point(1,2),new Point(6,7)};
Point[] ary2 = {new Point(1,2),new Point(6,7)};
System.out.println(Arrays.toString(ary));
System.out.println(Arrays.toString(ary2));
}
}
package day04;
public class Point/*extends Object*/ {
private int x;
private int y;
public Point(){
//无参数构造方法
}
public Point(int x,int y){
this.x = x;
this.y = y;
//有参数构造器
//构造器重载
}
public int getX(){
return x;
}
public int getY(){
return y;
}
//Point.java
//toString是Object类定义,子类继承的方法
//在打印对象时候,默认调用,重写这个方法可以打印的更好看!
public String toString(){
return "("+x+","+y+")";
}
}
package day04;
/*
* 二维数组
* Java中没有真正的二维数组!Java二维数组是元素是数组的一维数组。元素是数组的数组。
*/
public class Demo06 {
public static void main(String[] args) {
int[][] ary = new int[2][3];//等价{{0,0,0},{0,0,0}}
ary[1] = new int[]{4,5,6,7};
System.out.println(ary[1][2]);
System.out.println(ary.length);
System.out.println(ary[0].length);
System.out.println(ary[1].length);
for(int i=0;i