比如:
要在类A的方法中调用类B的方法(是个构造函数),类B中的方法主要是实现登录功能,要有输入,输入用户名和密码,想在类A的方法中获取类B方法中输入的用户名,然后继续执行类A方法的一些列查询操作。
但是通过执行发现,在类A中并没有真正取到类B中输入的值,而且在调用类B时,弹出登录窗口的同时,调用语句后面的语句已经执行完了。
因此,我怀疑是程序的执行循序有问题。但是不知道应该怎么改。希望能有人帮我解答一下,不胜感激!
如图所示程序,当前为类A,第三行为调用类B,第四行获取输入的用户名。运行时弹出登录界面,但是同时控制台输出第五行代码,为null,说明还没有输入时就已经往下继续执行了。输入一个有效的用户名后,运行结果也没有按照预想的进行。
按照你的代码,最简单但笨拙的解决方案如下:
//method reco最好的做法是给登陆窗口中的登陆按钮触发事件时调用后续的登陆查询逻辑
看了下,你说好像去登陆框里的值有问题,取不到,可以这样封装个方法在类JPasswordFieldDemo
然后在当前类中recommend中
String reader_id=JP.reader_id 改成
String reader_id=JP.getLoginName();
类似这种
在调用另一个类的方法下面接着写本类需要执行的方法。
1、定义2个类
2、A类调用B类
你希望是同步(阻塞)的,但实际上是异步调用的。
如果只是想控制流程,可以这么写:
String reader_id = null;谢谢!感觉这样也不行啊,我再想想吧。
追答好吧,记着点个赞~
追问怎么点啊?没有看到哇!
口头表扬吧,赞!
哈哈,没白忙活就好
首先非常感谢!
System.out.println(reader_id);输出的结果是null。
取值赋值的代码是reader_id=username.getText(); 其中reader_id是类B中构造函数的成员变量,username是用来保存在登录界面输入的用户名的。
这个代码应该是没有问题的。
System.out.println(reader_id);输出的结果是null。——这就是说明你的取值赋值没有写对
这里你是使用登陆按钮控制取值的,你检查下你登陆按钮的动作部分关于赋值的代码
那样更乱,我试过了,没有成功。
因为需要B类中输入用户名,然后才能继续在类A中执行,执行完的结果还要送给类B来输出。
...怎样控制另一个类的方法执行完再继续执行本类
\/\/method reco\/\/1.实例化登陆窗口对象JPasswordFieldDemo JP=new JPasswordFieldDemo();\/\/构造是不要立即显示窗体\/\/2.注册事件JButton loginBtn=JP.getLoginButton();\/\/简单封装下,当然可以粗糙些,类似 JP.reader_id\/\/注册一个listenerloginBtn.addActionListener(new ActionListener(){public void act...
java调用另一个类,然后怎样强制结束掉另一个类呢
jThread.setTest(test);\/\/执行线程 jThread.start();} 没有实际测试,家里机器手头没装java。应该差不多,没导入包,自己导入下吧。基本上思路就是这样了!
Java中的一个类怎么调用另一个类中的方法?
方法1. 新建一个类。然后在调用类中先进行被调用类实例化,然后通过实例化的对象访问。例如:\/\/先定义一个类 \/\/实例化,调用 方法2.新建一个类,将该类中需要被调用的方法设置为静态(static),加了static后,就可以用类名直接调用。然后在调用类中直接通过类名进行访问。调用格式为:类名.方法名...
Java中的一个类怎么调用另一个类中的方法?
java类有两种方法一种是类方法就是用static修饰的,一种是实例方法,就是没有static修饰的方法。类方法可以同时类名.方法名的方式调用。而实例方法必须先生存类的实例在通过实例.方法名的方式调用。如果另一个类中的那个方法是私有的话,就不能直接调用到,如果是其他类型的话看情况,如果是静态的(sta...
如何在一个项目中调用另一个项目的类?
在Java中在一个项目中引用另一个项目中的类,一般可以使用以下三种方式:1. 把外部项目的jar包导入到自己的项目中。方法是在自己的项目中引入外部项目的jar文件,并且在自己的代码中使用import语句导入外部项目的类。2. 在自己的项目中设置外部项目的源码路径。将外部项目中的源码拷贝到自己的项目中,...
java一个类怎么调用另外一个类的主方法
1、与一般调用没什么差别,直接new 出来另一个类的对象,调用方法即可。B里面代码 public class B {public static void main (String args[]) {System.out.println("this is B");} } A里面代码 public static void main(String args[]){ B b=new B(); b.main(args);}运行A效果:...
怎么在一个类中调用另一个类的方法
java类有两种方法一种是类方法就是用static修饰的,一种是实例方法,就是没有static修饰的方法。类方法可以同时类名.方法名的方式调用。而实例方法必须先生存类的实例在通过实例.方法名的方式调用。例如:publicclassMethodCall{publicstaticvoidmain(String[]args){Test.sayStatic();Testtest=newTest();...
java中怎么控制一个类被调用时禁止其他类调用这个类
你是在方法调用的时候作要求的吧 如果你只允许a类调用c 可以在入口做个限定 比如 把调用者当做参数传入方法内,这里我假设你c里的方法为xxx xxx(Object invoker){ if(invoker instanceof a.class){\/\/如果是a调用则执行 }else{ \/\/不是a调用 抛一个异常 } } ...
JAVA一个包里建立好两个类,一个类如何调用另一类的里的数据?
1、先在eclipse中创建一个Java工程文件。并在src下创建demo包,在demo包下创建类DemoClass。2、接下来在DemoClass类中添加一个静态属性和静态方法。被static修饰的属性或方法就是静态的。3、对于静态方法的调用,可以使用调用非静态方法的方式去调用,即创建一个类的对象,然后再调用静态方法。4、编辑好...
java中一个类想调用另一个类的变量该怎么办?
如果另一个类的变量是静态变量,用 类名.变量名 调用 如果是public的变量,先创建另一个类的对象,用 对象名.变量名 调用 如果是private的变量,用set、get方法操作对象 还可以利用反射机制操作变量