Java笔记(4)——方法重载和this关键字

2023-05-16

1. 方法的重载

  1. 不能通过参数名去区分两个方法。
  2. 不能通过返回值类型来区分两个方法。
  3. 可以通过参数列表:参数个数,参数类型来区分。
public class MethodOverLoad {
    public void mOL(int i){
        System.out.println(i * i);
    }

    public void mOL(int i, int j){
        System.out.println(i * j);
    }

    public void mOL(){
        System.out.println("CallMOL");
    }

    public static void main(String[] args){
        MethodOverLoad m1 = new MethodOverLoad();
        m1.mOL();
        m1.mOL(2);
        m1.mOL(2, 3);
    }
}
/*
CallMOL
4
6
*/
public int max(int i, int j){
    return Math.max(i, j);
}

public double max(double i, double j){
    return Math.max(i, j);
}

public int max(int i, int j, int k){
    return Math.max(Math.max(i, j), k);
}

System.out.println(m1.max(1,2));
System.out.println(m1.max(1.23, 4.67));
System.out.println(m1.max(7,4,8));
/*
2
4.67
8
*/

在这里插入图片描述

public class Person {
    private final String name;
    private final int age;
    private String school;
    private String major;

    public Person(String name, int age){
        this.name = name;
        this.age = age;
    }

    public Person(String name, int age, String school){
        this.name = name;
        this.age = age;
        this.school = school;
    }

    public Person(String name, int age, String school, String major){
        this.name = name;
        this.age = age;
        this.school = school;
        this.major = major;
    }

    public int getAge(){
        return this.age;
    }

    public String getSchool(){
        return this.school;
    }

    public String getMajor(){
        return this.major;
    }

    public String getName(){
        return this.name;
    }

    public String getInfo(){
        return "name:" + name + ",age:" + age +
                ",school:" + school + ",major:" +
                major + ".";
     }
}

public class TestPerson {
    public static void main(String[] args) {
        Person p1 = new Person("Tom", 17, "BJUT", "computer science");
        System.out.println(p1.getInfo());
    }
}

/*
name:Tom,age:17,school:BJUT,major:computer science.
*/

2. this关键字

  1. this是当前类的一个对象的引用,是调用当前方法的那个类的对象的应用。
  2. 在构造方法里面调用重载的构造器,this语句必须放在第一行。
public class Person {
    private final String name;
    private final int age;
    private String school;
    private String major;

    public Person(String name, int age){
        this.name = name;
        this.age = age;
    }

    public Person(String name, int age, String school){
        this.name = name;
        this.age = age;
        this.school = school;
    }

    public Person(String name, int age, String school, String major){
        this(name, age, school); // 调用已经重载的构造器
        this.major = major;
    }


    public int getAge(){
        return this.age;
    }

    public String getSchool(){
        return this.school;
    }

    public String getMajor(){
        return this.major;
    }

    public String getName(){
        return this.name;
    }

    public String getInfo(){
        return "name:" + name + ",age:" + age +
                ",school:" + school + ",major:" +
                major + ".";
     }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java笔记(4)——方法重载和this关键字 的相关文章

随机推荐