面向对象思想,简单实例

下面有一行代码,作用是求1-50之间偶数的和

public class Mianxiangduixiang {
    public static void main(String[] args) {
        int sum=0;
        for(int i=0;i<=50;i++,i++){
            sum+=i;
        }
        System.out.println(sum);
    }
}

现为了实现让主方法调用方法来解题,引入面向对象思想;

首先在主类外面编写一个类Func;

并在类中编写一个子方法func1,返回值为int型

然后将主方法中求1-50的方法放入子方法中;

此时在子方法中不输出,而是将结果返回到主方法中,由主方法来实现

class Func{
    public int func1(){
        int sum=0;
        for(int i=0;i<=50;i++,i++){
            sum+=i;
        }
        return sum;
    }
    
}

再主方法中使用new语句

输出结果

class Func{
    public int func1(){
        int sum=0;
        for(int i=0;i<=50;i++,i++){
            sum+=i;
        }
        return sum;
    }
    
}

public class Mianxiangduixiang {
    public static void main(String[] args) {
        Func func=new Func();
        System.out.println(func.func1());
    }
}

如果在子方法int前面加上static,再主方法中就不需要使用new语句

class Func{
    public static int func1(){
        int sum=0;
        for(int i=0;i<=50;i++,i++){
            sum+=i;
        }
        return sum;
    }
    
}

public class Mianxiangduixiang {
    public static void main(String[] args) {
        System.out.println(Func.func1());
    }
}

同样可以输出,如果不加static,也不使用new语句,程序就无法运行

会报错

Cannot make a static reference to the non-static method func1() from the type Func

意为不能对非静态方法func1()静态引用类型功能。

原文地址:https://www.cnblogs.com/FrankLiner/p/7538494.html