Java学习之面向对象二-----方法的重载和构造方法

来源:互联网 发布:安卓测bpm软件 编辑:程序博客网 时间:2024/04/30 03:38

方法的重载

  • 1)同一个类中,方法名称相同,参数列表不同
class Test{    void say(){}    void say(String name){}    void say(int age){}    void say(String name,int age){}    void say(int age,String name){}}
  • 2)编译器在编译时自动根据方法的签名来绑定调用不同的方法
public class TestDemo {    public static void main(String[] args) {        Test t = new Test();        t.say();        t.say("zhangsan");        t.say(25);        t.say("zhangsan", 25);        t.say(25, "zhangsan");    }}

构造方法

  • 1)常常用于给成员变量赋初值
  • 2)必须与类同名,没用返回类型
  • 3)在创建(new)对象时被自动调用
  • 4)若自己不写构造方法,则编译器默认提供无参构造; 若自己写了构造,则不再默认提供无参构造
  • 5)构造方法可以重载

代码:

package dany;public class TestStudent {    public static void main(String[] args) {        Student s1 = new Student();        Student s2 = new Student("张三",25,"北京");        Student s3 = new Student("李四",26);    }}class Student{    String name;    int age;    String address;    Student(){        System.out.println("无参构造");    }    //给成员变量赋初值    Student(String name1,int age1,String address1){//有参构造方法       name = name1;       age = age1;       address = address1;       System.out.println("有参构造");       System.out.println(name+" "+age+" "+address);    }    //重载    Student(String name1,int age1){        name = name1;        age = age1;        System.out.println("重载的有参构造");        System.out.println(name+" "+age);    }}

在创建对象的时候,会自动调用相应的构造方法,上面代码运行结果为:

这里写图片描述

阅读全文
0 0