【问题标题】:Call method from another class into loop inside calling class从另一个类调用方法到调用类内部的循环
【发布时间】:2016-07-30 21:26:10
【问题描述】:

我有一个类 X,其中我有方法 AB

我有一个班级 Y 我有如下循环

在for循环中调用另一个类中的方法是否理想,或者有什么理想的方法吗?请帮忙。

public class X {
    public void A() {
    }
    public void B() {
    }
}

public Class Y {
    public void C() {

        for(int i=0; i<0; i++) {
            new ClassX.A()
            .B();
        }
    }
}

【问题讨论】:

    标签: java loops optimization methods calling-convention


    【解决方案1】:

    您需要调整循环条件; 0 不小于 0 所以你的循环不会被输入。接下来,您需要一个X 的实例来调用AB。您可以在循环之前实例化一个,例如

    public class Y {
        public void C() {
            X x = new X();
            for (int i = 0; i < 10; i++) {
                x.A();
                x.B();
            }
        }
    }
    

    或将X 传递给C 喜欢

    public class Y {
        public void C(X x) {
            for (int i = 0; i < 10; i++) {
                x.A();
                x.B();
            }
        }
    }
    

    将其设为实例字段并使用它构造Y

    public class Y {
        private X x;
        public Y(X x) {
            this.x = x;
        }
        public void C() {
            for (int i = 0; i < 10; i++) {
                x.A();
                x.B();
            }
        }
    }
    

    最后,按照惯例,Java 方法名称以小写字母开头。

    【讨论】:

    • Frisch:感谢您的回答。我对我们在 C 类中创建新的 mtd Y 存有疑问。我们是否通过将 Y 作为构造函数来在 Y 中实例化 X 类?
    • 。我们将一个已经实例化的X 引用传递给Y(当Y 被构造时)。
    • 我尝试了最后一个解决方案。但我没有得到引用的类。相反,我得到了空指针。我在 Y 类中添加了这个并创建了 X 类,就像 bleow:: private static X x; // 类 Y 内的行 我的类 X 看起来像这样::::::::::::::::::::: public class X { public void A() { System.out.print( “jzxhckjh”);返回; } 公共无效 B() { System.out.print("jzxhckjh");返回; } }
    【解决方案2】:

    你意识到你的循环永远不会运行吗?这不是一个好的编码方式...

    for(int i=0;i<0;i++){
    

    如果我从 0 开始,而你向上。我永远不会小于0。

    你想用 Y 类和 X 类来完成什么?你不能只问它是否是最优的,而不是为你正在做的事情提供任何理由。

    【讨论】:

    • 抱歉,我的意思是,我昨天早上 6 点就起床了,已经有 30 个小时了。请原谅我的错误。
    猜你喜欢
    • 1970-01-01
    • 2017-01-26
    • 1970-01-01
    • 2016-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多