[]的困惑?
问题:
1)[]放前放后,有区别吗?
2)m_bmpBoard为何不用new呢?
3)用了new就分配了内存空间,不用new的也分配了内存空间吗?
private Bitmap m_bmpBoard;
private Bitmap m_bmpExit;
private Bitmap heiZi[] = new Bitmap[7];
private Bitmap[] hongZi = new Bitmap[7];Resources res = getResources();
m_bmpBoard = BitmapFactory.decodeResource(res, R.drawable.board);
m_bmpExit = BitmapFactory.decodeResource(res, R.drawable.exit);heiZi[0] = BitmapFactory.decodeResource(getResources(), R.drawable.heishuai);//黑帅
heiZi[1] = BitmapFactory.decodeResource(getResources(), R.drawable.heiju);//黑车
heiZi[2] = BitmapFactory.decodeResource(getResources(), R.drawable.heima);//黑马
heiZi[3] = BitmapFactory.decodeResource(getResources(), R.drawable.heipao);//黑炮
heiZi[4] = BitmapFactory.decodeResource(getResources(), R.drawable.heishi);//黑士
heiZi[5] = BitmapFactory.decodeResource(getResources(), R.drawable.heixiang);//黑象
heiZi[6] = BitmapFactory.decodeResource(getResources(), R.drawable.heibing);//黑兵
hongZi[0] = BitmapFactory.decodeResource(getResources(), R.drawable.hongjiang);//红将
hongZi[1] = BitmapFactory.decodeResource(getResources(), R.drawable.hongju);//红车
hongZi[2] = BitmapFactory.decodeResource(getResources(), R.drawable.hongma);//红马
hongZi[3] = BitmapFactory.decodeResource(getResources(), R.drawable.hongpao);//红砲
hongZi[4] = BitmapFactory.decodeResource(getResources(), R.drawable.hongshi);//红仕
hongZi[5] = BitmapFactory.decodeResource(getResources(), R.drawable.hongxiang);//红相
hongZi[6] = BitmapFactory.decodeResource(getResources(), R.drawable.hongzu);//红卒
问题:
1)[]放前放后,有区别吗?
2)m_bmpBoard为何不用new呢?
3)用了new就分配了内存空间,不用new的也分配了内存空间吗?
private Bitmap m_bmpBoard;
private Bitmap m_bmpExit;
private Bitmap heiZi[] = new Bitmap[7];
private Bitmap[] hongZi = new Bitmap[7];Resources res = getResources();
m_bmpBoard = BitmapFactory.decodeResource(res, R.drawable.board);
m_bmpExit = BitmapFactory.decodeResource(res, R.drawable.exit);heiZi[0] = BitmapFactory.decodeResource(getResources(), R.drawable.heishuai);//黑帅
heiZi[1] = BitmapFactory.decodeResource(getResources(), R.drawable.heiju);//黑车
heiZi[2] = BitmapFactory.decodeResource(getResources(), R.drawable.heima);//黑马
heiZi[3] = BitmapFactory.decodeResource(getResources(), R.drawable.heipao);//黑炮
heiZi[4] = BitmapFactory.decodeResource(getResources(), R.drawable.heishi);//黑士
heiZi[5] = BitmapFactory.decodeResource(getResources(), R.drawable.heixiang);//黑象
heiZi[6] = BitmapFactory.decodeResource(getResources(), R.drawable.heibing);//黑兵
hongZi[0] = BitmapFactory.decodeResource(getResources(), R.drawable.hongjiang);//红将
hongZi[1] = BitmapFactory.decodeResource(getResources(), R.drawable.hongju);//红车
hongZi[2] = BitmapFactory.decodeResource(getResources(), R.drawable.hongma);//红马
hongZi[3] = BitmapFactory.decodeResource(getResources(), R.drawable.hongpao);//红砲
hongZi[4] = BitmapFactory.decodeResource(getResources(), R.drawable.hongshi);//红仕
hongZi[5] = BitmapFactory.decodeResource(getResources(), R.drawable.hongxiang);//红相
hongZi[6] = BitmapFactory.decodeResource(getResources(), R.drawable.hongzu);//红卒
//声明
private Bitmap m_bmpBlackChess[];//执行
m_bmpBlackChess = new Bitmap[7];
m_bmpBlackChess[0] = BitmapFactory.decodeResource(res, R.drawable.exit);//黑帅
m_bmpBlackChess[1] = BitmapFactory.decodeResource(res, R.drawable.exit);//黑车
m_bmpBlackChess[2] = BitmapFactory.decodeResource(res, R.drawable.exit);//黑马
m_bmpBlackChess[3] = BitmapFactory.decodeResource(res, R.drawable.exit);//黑炮
m_bmpBlackChess[4] = BitmapFactory.decodeResource(res, R.drawable.exit);//黑士
m_bmpBlackChess[5] = BitmapFactory.decodeResource(res, R.drawable.exit);//黑象
m_bmpBlackChess[6] = BitmapFactory.decodeResource(res, R.drawable.exit);//黑兵
2、decodeResource是BitmapFactory的static方法,可以通过类名直接调用
3、没有你这样的说法。PS:哥们,你的java基础?
一般都这样写,不过你那样写也没区别
先补补基础
问题:
1)[]放前放后,有区别吗? 没区别哦
2)m_bmpBoard为何不用new呢?m_bmpBoard 在后面有赋值函数,这个函数里面会创建对象的啦。
3)用了new就分配了内存空间,不用new的也分配了内存空间吗?
对的哦。不用new ,这个句柄就是一个指向空对象的指针,用了new会指向一个新对象哦。楼主多谢谢,就有感觉啦