如何通过一个类B获取到另一个类A中的数据
- 当然两个类不是在同一个java文件中
- 首先我们在类B的成员变量位置声明我们想要获取的A的一些数据
- 其次我们在类B中创建一个有参构造方法,这个有参构造方法的参数要是我们想要获得的一些数据
- 然后我们在类A中使用类B的有参构造方法创建一个类B的对象,这个时候将我们类B中想要获取的类A的数据作为参数传递到类B的有参构造方法中
- 那么我们就成功的将我们的类A中的数据传递到了类B中
代码实现:
这里我们通过一个简易计算器来实现一个类中获取另一个类的一些数据的操作
package 用户图形界面;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class Calculator extends Frame{
public Calculator(){
//首相我们创建三个文本框
TextField num1 = new TextField(10);
TextField num2 = new TextField(10);
TextField num3 = new TextField(20);
//其次我们这里还要设置一个标签,也就是一个单纯的'+'号
Label label = new Label("+");
//然后我们还要创建一个按钮,并且要给这个按钮添加一个事件监听,在这个事件监听器中的actionPerformed()方法中作一个加法运算的操作
Button button = new Button("=");
button.addActionListener(new MyCalculatorListener(num1,num2,num3));
//然后我们对我们创建的组件进行布局
setLayout(new FlowLayout());
add(num1);
add(label);
add(num2);
add(button);
add(num3);
pack();
//这里由于我们使用的是Frame而不是JFrame,所以我们没有现成的关闭这个窗口的方法,我们要通过添加窗口监听去完成窗口的隐藏或者关闭
setVisible(true);
}
}
class MyCalculatorListener implements ActionListener{
TextField num1,num2,num3;
public MyCalculatorListener(TextField num1,TextField num2,TextField num3){
this.num1 = num1;
this.num2 = num2;
this.num3 = num3;
}
@Override
public void actionPerformed(ActionEvent e){
//1.获得加数和被加数
int n1 = Integer.parseInt(num1.getText());
int n2 = Integer.parseInt(num2.getText());
//2.将两个值相加后放到第三个框
num3.setText("" + (n1 + n2));
//清除前两个框
num1.setText("");
num2.setText("");
}
}
class Test2{
public static void main(String[] args) {
new Calculator();
}
}