GitOPEN's Home.

《Monkey Java》课程4.3之面向对象基础4

Word count: 560 / Reading time: 2 min
2015/07/11 Share

本节课程将学习以下内容:

  • 函数的重载
  • 构造函数的作用

函数的重载

在同一个类中允许函数的重名这种现象的出现,它有3个特征:

  • 两个或者多个函数在同一个类当中;
  • 函数名相同;
  • 参数列表不同。

例子:(请动手)

1.新建一个名称为Demo01.java的java源文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
class Demo01 {
void funDemo01() {
System.out.println("没有参数的funDemo01函数");
}

// 这个funDemo01函数重载了上面的funDemo01函数,特点为:
// 1. 两个funDemo01函数处于同一个类Demo01当中;
// 2. 函数名相同,都为funDemo01;
// 3. 参数不同,第2个funDemo01函数有了一个整型参数i。
void funDemo01(int i) {
System.out.println("有参数i的funDemo01函数,i的值是" + i);
}
}
  1. 新建一个名称为Demo02.java的java源文件。

Demo02类演示了重载方法的调用。

1
2
3
4
5
6
7
class Demo02 {
public static void main(String[] args) {
Demo01 demo01 = new Demo01();
demo01.funDemo01();
demo01.funDemo01(100);
}
}

构造函数的作用

用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中;
一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们,即构造函数的重载。

特征:

  • 没有返回值类型的定义;
  • 构造函数的名字必须和类的名字完全保持相同;

例子:(请动手)

  1. 新建一个名称为Person.java的java源文件。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Person {
// 构造函数
Person(){
}

// 第二个构造函数,利用的原理是方法的重载
Person(String n, int a){
name = n;
age = a;
}

String name;
int age;

}
  1. 新建一个名称为Demo03.java的java源文件。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    class Demo03 {
    public static void main(String[] args) {

    // 调用的是无参的构造方法
    Person p1 = new Person();
    p1.name = "zhang3";
    p1.age = 15;

    System.out.println("p1的name是:" + p1.name + ",age是:" + p1.age);

    // 调用的是有参的构造方法,哪个写法更加简单呢?
    Person p2 = new Person("li4", 18);
    System.out.println("p12的name是:" + p2.name + ",age是:" + p2.age);
    }
    }

欣慰帮到你 一杯热咖啡
【奋斗的Coder!】企鹅群
【奋斗的Coder】公众号
CATALOG
  1. 1. 函数的重载
  2. 2. 构造函数的作用