欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

方法与方法重载

程序员文章站 2022-04-29 17:22:44
方法与方法重载方法的参数传递会使用构造方法...

方法与方法重载

方法的参数传递

形参和实参:

形式参数:就是在定义函数或过程的时候命名的参数。通俗讲就是一个记号。形参名字可以随便取,但是要符合驼峰命名规则,同时要有意义。

实际参数:就是在执行时,调用函数或过程时,传递给函数或过程的参数。通俗讲就是实际值。实参名字也可以随便取,但是遵循驼峰命名规则,同时也要有意义。

1.实参和形参的类型必须一致,名字可以不一致
2.方法有没有返回值与方法有没有参数无关
3.方法参数可以有多个,但多个参数之间用逗号隔开
4.形整和实参数量一定要一致,数据类型一定要一致

参数:
基本数据类型做参数时,传递的是值,不能出方法的范围
引用数据类型做参数时,传递的是地址,可以影响方法外部
特殊:String做参数时,等同于基本数据类型

public class Dog {
   String name;
   int health;
   int love;
   String strain;
// 默认的无参构造方法、构造器
    public Dog(){
    }
    //一旦有了有参构造,默认的无参构造不在生效
    //就需要显式的写出无参构造
    //有参构造重载、参数都叫局部变量
    public Dog(String name,int haelth,int love,String strain){
        this();//this调用构造方法时必须在构造方法第一条
        //this关键字,只带本类对象
        this.name=name;
        this.health=health;
        this.love=love;
        this.strain=strain;
    }
    void print(){
        System.out.println("我叫:"+name+",品种是:"+strain+",健康值是:"
                +health+",喜爱值是:"+love);
    }
}
public class TestDog {
    public static void main(String[] args) {
        Dog dog=new Dog();
        dog.name="二哈";
        dog.health=80;
        dog.love=60;
        dog.strain="哈士奇";
        dog.print();
        Dog dog2=new Dog();
        dog2.name="阿吉";
        dog2.health=90;
        dog2.love=70;
        dog2.strain="柯基";
        dog2.print();
    }
}

会使用构造方法

方法的结构:

1.访问修饰符 返回值类型  方法名([参数列表]){
      代码;
	  [return  具体的返回值;]
	  }

构造方法:

默认每个类都有一个无参构造
如果该类有了有参构造,则默认的无需构造不在提供
此时如果还想用无参构造,则需要显式的定义无参构造

方法重载:

在同一个类中   (前提条件)
方法名相同
参数列表不同(不包含参数名)
ps:与访问修饰符和返回值无关

练习:简易计算器
需求说明:实现简易计算器,分别实现两个整数、三个浮点数的加法运算

public class Counter {
    void count(int num1,int num2){
        System.out.println(num1+" + "+num2+" = "+(num1+num2));
    }
    void  counter(double num1,double num2,double num3){
        System.out.println(num1+" + "+num2+" + "+num3+" = "+(num1+num2+num3));
    }

    public static void main(String[] args) {
        Counter counter=new Counter();
        counter.count(1,2);
        counter.counter(1,2,3);
    }
}

成员变量和局部变量的区别:

1.作用域不同
局部变量的作用域仅限于定义它的方法
成员变量的作用域在整个类内部都是可见的

2.初始值不同
Java会给成员变量一个初始值
Java不会给局部变量赋予初始值

注意:
1.在同一个方法中,不允许有同名局部变量在不同的方法中,可以有同名局部变量
2.在同一个类中,成员变量和局部变量同名时,局部变量具有更高的优先级

本文地址:https://blog.csdn.net/zhoutao719/article/details/107472321