Java如何调用其他类里的变量

public void serialEvent(SerialPortEvent event) {
switch(event.getEventType()) {
case SerialPortEvent.BI;
case SerialPortEvent.OE;
case SerialPortEvent.FE;
case SerialPortEvent.PE;
case SerialPortEvent.CD:
case SerialPortEvent.CTS:
case SerialPortEvent.DSR:
case SerialPortEvent.RI
case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
case SerialPortEvent.DATA_AVAILABLE:
byte[] readBuffer = new byte[20];
int numBytes=0;
try {
while(inputStream.available() > 0) {
numBytes= inputStream.read(readBuffer);
}
char readPlace = (char)readBuffer[2];
char readCar= (char)readBuffer[4];
System.out.println(readPlace + readPlace);
System.out.println(readCar);
}catch (IOException e) {}
break;
}
}
public static void main(String[] args) {
portList = CommPortIdentifier.getPortIdentifiers();
while (portList.hasMoreElements()) {
portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
if (portId.getName().equals("COM2")) {
SimpleRead reader = new SimpleRead();
}
}
}
}
}

我如何在其他的Java程序里面调用readPlace和readCar这两个变量

有2种方式

第一种,直接把类中变量定义成public

比如:

public class A{
   public void changeA(){
      B b = new B();//实例化B类
      b.a=2;//这里直接访问B类中的变量A
   }
}
public class B{
   public int a=0;//定义一个public变量
}

第二种,通过get,set方式访问变量

public class A{
   public void changeA(){
      B b = new B();//实例化B类
      b.setA(2);//这里设置B类中的变量A
      b.getA();//获取B类中A的值
   }
}
public class B{
   private int a=0;//定义一个private私有变量
   public void setA(int a){//定义set方法,设置变量A的值
      this.a=a;
   }
   public int getA(){//定义get方法,获取变量A的值
      return this.a;
   }
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-13
你这两个变量都是方法内的局部变量,不能被其它程序调用的
想被调用,把这2个改成成员变量本回答被提问者采纳
第2个回答  2014-07-17
把他申明为静态的变量啊,这就属于类的,然后其他直接类名点出来
第3个回答  2014-07-17
包名.类名.变量名 即可
这样可以么?
相似回答