public class Player {\x05private int x;\x05private int y;\x05public Player() {\x05}\x05public static byte[] o2ba(Player p) throws IOException {\x05\x05byte data[] = null;\x05\x05ByteArrayOutputStream baos = new ByteArrayOutputStream();\x05\x05DataOut

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 23:48:33
public class Player {\x05private int x;\x05private int y;\x05public Player() {\x05}\x05public static byte[] o2ba(Player p) throws IOException {\x05\x05byte data[] = null;\x05\x05ByteArrayOutputStream baos = new ByteArrayOutputStream();\x05\x05DataOut

public class Player {\x05private int x;\x05private int y;\x05public Player() {\x05}\x05public static byte[] o2ba(Player p) throws IOException {\x05\x05byte data[] = null;\x05\x05ByteArrayOutputStream baos = new ByteArrayOutputStream();\x05\x05DataOut
public class Player {
\x05private int x;
\x05private int y;
\x05public Player() {
\x05}
\x05public static byte[] o2ba(Player p) throws IOException {
\x05\x05byte data[] = null;
\x05\x05ByteArrayOutputStream baos = new ByteArrayOutputStream();
\x05\x05DataOutputStream dos = new DataOutputStream(baos);
\x05\x05dos.writeInt(p.getX());
\x05\x05dos.writeInt(p.getY());
\x05\x05dos.close();
\x05\x05data = baos.toByteArray();
\x05\x05baos.close();
\x05\x05return data;
\x05}
\x05public static Player ba2o(byte[] data) throws IOException {
\x05\x05Player p = new Player();
\x05\x05DataInputStream dis = new DataInputStream(new ByteArrayInputStream(data));
\x05\x05p.setX(dis.readInt());
\x05\x05p.setY(dis.readInt());
\x05\x05dis.close();
\x05\x05return p;
\x05}
\x05public int getX() {
\x05\x05return x;
\x05}
\x05public void setX(int x) {
\x05\x05this.x = x;
\x05}
\x05public int getY() {
\x05\x05return y;
\x05}
\x05public void setY(int y) {
\x05\x05this.y = y;
\x05}
}

public class Player {\x05private int x;\x05private int y;\x05public Player() {\x05}\x05public static byte[] o2ba(Player p) throws IOException {\x05\x05byte data[] = null;\x05\x05ByteArrayOutputStream baos = new ByteArrayOutputStream();\x05\x05DataOut
public class Player
这整段代码定义了一个叫Player的类,这个类为公有类.
private int x;
prinate int y;
定义了类的两个私有成员,x和y,均为整数型;
public Player()
默认构造函数.如果在别的代码内要生成一个Player类的变量,一般的调用方式为:
Player varName = new Player();
public static byte[] o2ba(Player p) throws IOException
函数(object to byte array):将一个Player类的变量成员信息写入数组并返回.比如说有一个Player变量p,x=1,y=2,那么调用Player.o2ba(p),将会返回一个[1, 2]的数组.这个函数是静态函数,所以直接通过类名调用,而不能通过变量调用;也就是说Player.o2ba(p)是正确的,而p.o2ba(p)是错误的.此外,这个函数可能会抛出输入/输出异常(IOException).
里面每一行代码的意思不展开了,基本上就是定义一个数组data,然后通过getX(),getY()这两个函数把变量p中的x、y值写入数据输出流DataOutputStream中,并赋值给data.
public static Player ba2o(byte[] data) throws IOException
函数(byte array to object):从数组中读取两个整数值,并由此生成一个Player类的变量.比如说有一个数组[1, 2],数组变量名为data,那么调用Player p = Player.ba2o(data),就会生成一个Player变量p,其中x=1,y=2.这个函数是静态函数,所以直接通过类名调用,而不能通过变量调用;也就是说Player.ba2o(data)是正确的,而p.o2ba(p)是错误的.此外,这个函数可能会抛出输入/输出异常(IOException).
里面每一行代码的意思不展开了,基本上就是通过函数先定义一个Player类变量p,然后通过数据输入流DataInputStream中读取整数的函数readInt()从data数组中读取两个整数,并分别通过SetX(...)和SetY(...)赋值给p的x、y两个成员.
public int getX()
public void setX(int x)
public int getY()
public void setY(int y)
这四个函数是典型的get、set函数组.由于x和y两个成员为私有类,不能直接通过p.x或p.y进行访问,所以对于x和y的赋值和读取操作要通过这两组函数完成.