当前位置:   article > 正文

最基础的静态方法与实例方法_静态方法举例说明

静态方法举例说明

最基础的静态方法与实例方法(对新手友好)

2020年3月27日

来自某非常非常菜鸡的Java初学者dxb

**本文只涉及静态方法与实例方法初学者的理解,不会有任何很高端的代码。**所以,仅试用初学者。

由于本菜鸡接触编程至今只有40多天,所以文章必定漏洞百出,欢迎大佬指正,帮助我这个菜鸡理解。

1.静态方法

关键字

static
  • 1

相当于是将一些操作给打包起来,可以理解为我们搞了一个静态方法(一个盒子),这个方法里面存了一些代码(把代码装进盒子里),在想要用这个方法里面存的代码的时候,只需要打出这个方法就可以了(方法就代表了这些代码),不需要把这么多代码再敲一遍。(虽然复制粘贴也很方便,但是优雅一点不香吗)

public static void fangfa(){
        //public 公开的,谁都能用这个方法
        //static 是静态的意思,静态是啥,我也不知道
        //void 词典查出来是空的意思,这里代表没有返回值
        //蓝色的fangfa是我们给这个方法取得名字

        //这里是我们想存进来的代码
        System.out.println("dxb is a vegetable chicken");
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
//现在我们来使用一下这个方法
public class dxb{
    public static void main(String[] args) {
        for(int i=0;i<5;i++){
            fangfa();//就是这个地方啦,这一行相当于敲了我们方法里面存的代码
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
//以上两个代码块中的代码等同于
public class dxb {
    public static void main(String[] args) {
        for (int i = 0; i < 5; i++) {
            System.out.println("dxb is a vegetable chicken");
        }
    }
}

//因为我只在方法中写了一行代码,但是想象一下,如果我的方法里面有很多行代码,并且需要反复使用的时候,静态方法就会变得很香了。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

注意,静态方法如果有非空的返回值时,是可以将这个返回值赋值给其他的变量的(高级的盒子,可以从盒子里面拿东西出来)。

public class dxb {
    public static int fangfa() {
        //这里我们返回一个整型数
        //这里还是是我们想存进来的代码
        int a = 5;
        return a;
    }

    //方法写完了,现在我们在main方法(程序的入口)来执行一下
    public static void main(String[] args) {
        int b;
        b = fangfa();//这一行的意思有两个,第一是我执行了这个方法里面的代码,第二是我把这个方法的返回值赋给了b,当然你要是觉得不需要赋值,你也可以不写这个b =  程序一样照常运行
        System.out.println(b);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

如果不需要,也可以不赋值出去,不会有什么影响的(盒子里有东西,但是我也可以不用这个东西)。

方法(盒子)里也可能不会有返回值(返回值为空void)(盒子里面什么都拿不出来,但是盒子还是能实现一些功能,比如打印)

2.实例方法与构造方法

什么叫实例呢?什么是构造呢?我也不知道。

想要创建一个实例方法,我们先要定义一个类(比如人类)

想要调用这个实例方法,我们必须要创建一个实例(比如本菜鸡)

本菜鸡也是人,所以,实例是类中的一个具体的东西。当然人可以有很多,所以实例也可以有很多

public class dxb {

    //首先我们来定义一个类
    public static class Human {    //这里为什么要加static,最后再说
        //这个类(人类)会有一些特征,比如人有眼睛,鼻子,我们先定义他们的数量
        int numberEye;
        int numberNose;

        //定义好了以后,我们可以设置他们的数量(人的眼睛都是2个,但是不要在意这些细节)
        //怎么设置呢,我们需要用到方法,什么方法呢?实例方法set
        public void setNumberEye(int i) {               //这里我们把一个参数传递进来了,怎么传递呢,在调用方法的时候传递
            numberEye = i;
        }

        //然后是鼻子
        public void setNumberNose(int i) {
            numberNose = i;
        }

        //只是设置了好像不知道设置到哪去了,可以用一个get方法打印出来
        public void getNumberEye() {
            System.out.println("eye " + numberEye);
        }

        public void getNumberNose() {
            System.out.println("nose " + numberNose);
        }
    }


    //okk,方法写好了,怎么用呢
    public static void main(String[] args) {
        //这里是main方法的内部,程序的入口
        //我们先得创建实例(比如本菜鸡),然后才能设置本菜鸡的眼睛鼻子个数(你们开心就好)

        //怎么创建一个菜鸡dxb呢
        Human caijidxb = new Human();
        Human dltql = new Human();           //当然你也可以创建一个大佬

        //然后,我们来设置这个菜鸡眼睛和鼻子的个数吧(例子不太恰当,不好意思)
        //下面括号里面的是传进方法的参数,可以写一个Scanner自己定,这里我们直接在代码里面规定好
        caijidxb.setNumberEye(2);
        caijidxb.setNumberNose(1);

        //设置好了,现在我们调用get方法看看
        caijidxb.getNumberEye();
        caijidxb.getNumberNose();
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49

构造方法是什么呢?

我们在创建一个class类(比如人类)的时候,会自动生成一个和类同名的方法,这个方法就叫构造方法,当然,代码我们看不见,不代表不存在。

如果我们不进行任何操作,这个和类同名的构造方法是不会发挥任何作用的。我们在创建一个实例变量的时候,可以说就是在进行这个构造方法的调用。因为现在我们没有写构造方法,构造方法默认是没有内容的,所以也不会有什么特殊的功能。

我们可以写一个构造方法,什么时候写呢?当我们在创建一个实例变量(比如本菜鸡)的时候,如果想在创建的时候就实现一些功能,那把我们想实现的功能写在构造方法里面就可以了。

需要特别注意的是,构造方法是没有返回值的,连空的返回值void都没有。但这并不影响它实现一些功能。

3.写在最后

1.最后一个代码块的开头,我在class前面加了一个static,为什么要加呢?如果我们在不同的.java文件里面写代码,是不需要加static的,但是这里必须要加上,不然会报错,程序无法运行。如果想深入了解,可以参考

https://zhuanlan.zhihu.com/p/70110497

2.这是我第一次写文章,也是第一次在网络上发出自己的声音,难免有不足之处。如内容有不适之处,欢迎联系作者指正。

3.如果你能看到这里,万分感谢。

要加static的,但是这里必须要加上,不然会报错,程序无法运行。如果想深入了解,可以参考

https://zhuanlan.zhihu.com/p/70110497

2.这是我第一次写文章,也是第一次在网络上发出自己的声音,难免有不足之处。如内容有不适之处,欢迎联系作者指正。

3.如果你能看到这里,万分感谢。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/325124
推荐阅读
相关标签
  

闽ICP备14008679号