zoukankan      html  css  js  c++  java
  • 面向对象思想,简单实例

    下面有一行代码,作用是求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()静态引用类型功能。

  • 相关阅读:
    Python装饰器之functools.wraps的作用
    [转]scala和RDD中的占位符"_"
    Scala,Java,Python 3种语言编写Spark WordCount示例
    CentOS系统安装Python3
    [爬虫]采用Go语言爬取天猫商品页面
    go语言的排序和去重
    go语言字符串的连接和截取
    [转]git commit --amend用法
    KM算法小结
    Protocol Buffers学习教程
  • 原文地址:https://www.cnblogs.com/FrankLiner/p/7538494.html
Copyright © 2011-2022 走看看