码迷,mamicode.com
首页 > 编程语言 > 详细

廖雪峰Java2面向对象编程-2数据封装-1方法重载

时间:2019-01-13 19:13:52      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:ring   完成   on()   个数   index   技术分享   over   顺序   idt   

方法重载

方法重载Overload是指:多个方法的方法名相同,但各自的参数不同

  • 参数的个数不同
  • 参数的类型不同
  • 参数位置不同
  • 方法返回值类型通常都是相同的
    目的:相同功能的方法使用同一名字,便于调用
    如以indexOf()为例
    技术分享图片
    public static void main(String[] args) {
        String s = "Test";
        int n1 = s.indexOf(‘e‘);//返回字符的索引
        int n2 = s.indexOf("st");//返回字符串的索引
        int n3 = s.indexOf(‘t‘, 2);//从index=2处开始,返回字符的索引
        int n4 = s.indexOf("st", 3);//从index=3开始,返回字符的索引。无结果返回-1
        System.out.println(n1);
        System.out.println(n2);
        System.out.println(n3);
        System.out.println(n4);
    }

技术分享图片

2.使用重载方法改写Person类的setName()方法

Person.java

public class Person {
    private String name;
    public void setName(String name) {
        this.name = name;
    }
    public void setName(String firstName,String lastName) {
        this.name = firstName+lastName;
    }
    public void setName(String firstName, String middleName,String lastName) {
        this.name = firstName+ middleName +lastName;
    }
    public String getName() {
        return name;
    }
}

Hello.java

public class Hello {
    public static void main(String[] args) {
        Person ming = new Person();
        ming.setName("小明");
        System.out.println(ming.getName());
        Person hong = new Person();
        hong.setName("李","红");
        System.out.println(hong.getName());
        Person wang = new Person();
        wang.setName("王","宝","强");
        System.out.println(wang.getName());
    }
}

技术分享图片

3.总结:

  • 重载方法应该完成相同的功能,参考String的indexOf()
  • 重载方法主要依靠参数类型和数量区分
    * indexOf(String str)
    * indexOf(String str, int fromIndex)
  • 不要去交换参数顺序
    * indexOf(String str, int fromIndex)
    * indexOf(int from Index, String str)
  • 重载方法返回值类型应该相同

廖雪峰Java2面向对象编程-2数据封装-1方法重载

标签:ring   完成   on()   个数   index   技术分享   over   顺序   idt   

原文地址:https://www.cnblogs.com/csj2018/p/10263377.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!