如何在main方法中调用内部类方法?

时间:2014-02-14 13:22:25

标签: java

我在主类和Perfect类中创建一个类我正在创建一个方法perf(),我想在main方法中调用这个方法。怎么做呢?

我的代码在这里

public class Fib {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub


            }

    class Perfect {

        void perf(){
            int sum = 0;
            int count = 0;

            for(int i=6; i<=10000; i++){
                for(int j=1; j<=i/2; j++){
                    if(i%j==0){
                        sum+=j;
                    }
                }
                if(sum==i){
                    count=count+1;
                    System.out.println(i);
                }
                sum=0;
            }

            System.out.println("Total perfect number is : "+count);

        }
    }
}

3 个答案:

答案 0 :(得分:3)

new Fib().new Perfect().perf()应该可以正常使用

答案 1 :(得分:0)

您可以使用此表单

撰写
    Fib outer = new Fib();
    Perfect inner = outer.new Perfect (); 
    System.out.println(inner.perf());

答案 2 :(得分:0)

您可以在main方法中调用内部类方法。

你必须将内部类作为静态,然后你可以通过className.MethodName()直接访问。没有必要创建对象..

示例:

package com;

public class Fib {
    public static void main(String[] args) {
        Perfect.assign(5);
       }

   private static class Perfect {      
       static void assign(int i) {
           System.out.println("value i : "+i);
       }

    }
}

这里,Perfect是内部类,assign是一个放在内部类中的方法......现在我只是通过className.MethodName()调用内部类方法。

运行此程序时,您将获得输出: value i : 5

希望这会有所帮助。!!