老黑讲Java之面向对象方法的重载

2025-10-11 21:45:25

1、方法的签名

    1、方法的签名包括:方法名和参数列表;

    2、在一个类中不可以有两个方法的签名完全相同,即一个类中不可以有两个方法的方法名和参数列表完全一样。

    3、若一个类中可以两个方法的方法名相同,但参数列表不能相同,代码如下:

    public class People{

        public void readBook(String bookName){...}

        public void readBook(String bookName){...}

        //上述代码编译错误

    }

    public class People{

        public void readBook(String oneBook){...}

        public void readBook(String oneBook, String secondBook){...}

        //上述代码编译正确

    }

老黑讲Java之面向对象方法的重载

2、方法的重载

    Java语言中,可以允许多个方法的名称相同,但参数列表不同,称为方法的重载。

    public class People{

        public void readBook(String oneBook){...}

        public void readBook(String oneBook, String secondBook){...}

        public void readBook(String oneBook, String secondBook, String thirdBook){...}

    }

老黑讲Java之面向对象方法的重载

3、编译时根据签名绑定调用方法

    在编译时编译器根据签名绑定调用不同的方法,重载的方法可以看成完全不同的方法,方法名相同而已。

    public class People{

        public void readBook(String oneBook){...}

        public void readBook(String oneBook, String secondBook){...}

        public void readBook(String oneBook, String secondBook, String thirdBook){...}

    }

     p.readBook("老黑讲Java之基础教程");

     p.readBook("老黑讲ava之基础教程","老黑讲Java之面向对象");

     p.readBook("老黑讲ava之基础教程","老黑讲Java之面向对象","老黑讲Java之Spring核心技术");

1、构造方法语法结构

    构造方法也是方法,但是它不同于其他方法,构造方法定义满足如下两个要求:

     1、构造方法的名称必须与类名相同;

     2、构造方法没有返回值,不用void修饰词,伪代码如下:

    [public] People(){

         //构造方法体

    }

2、可以通过构造方法初始化成员变量

    class People{

        String name;

        int age;

        String gender;

        public People(String name, int age, String gender){

             this.name = name;

             this.age = age;

             this.gender = gender;

         }

    }

   通过new 构造方法可以初始化成员变量,例如:

   People p = new People("老黑",18,"男");

老黑讲Java之面向对象方法的重载

3、this关键字的使用

    this关键字用在方法体,表示指向调用该方法的对象,即那个对象调用,this指向的就是哪个对象,如:

    People p = new People("老黑",18,"男");

    System.out.println(p.name);//老黑

    在People类中this引用指向的就是上述People的对象,构造方法中this.name与p.name是等价的,所以调用的值相同。

4、默认的构造方法

    1、Java语言中,任何一个类包含构造方法;

    2、如果程序员没有定义,那么编译器会自动添加一个无参的构造方法;

    3、当定义了构造方法后,Java编译器将会添加默认的构造方法了。代码如下:

    

    public class People {

        String name;

        int age;

        String gender;

        public People() {

        }

    

老黑讲Java之面向对象方法的重载

5、构造方法的重载

    一个类中可以定义多个构造方法,这类构造方法名称相同,但是参数列表不同,这中方法叫做方法的重载,例如下面的代码:

    

老黑讲Java之面向对象方法的重载

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢