课程4.3之面向对象基础4

转发请注明出处:
安卓猴的博客(http://sunjiajia.com)

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

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

函数的重载

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

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

例子:(请动手)

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

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类演示了重载方法的调用。

class Demo02 {
  public static void main(String[] args) {
    Demo01 demo01 = new Demo01();
    demo01.funDemo01();
    demo01.funDemo01(100);
  }
}

构造函数的作用

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

特征:

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

例子:(请动手)

  1. 新建一个名称为Person.java的java源文件。
class Person {
  // 构造函数
  Person(){
  }

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

  String name;
  int age;

}
  1. 新建一个名称为Demo03.java的java源文件。
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);
  }
}
    原文作者:GitOPEN
    原文地址: https://www.jianshu.com/p/4cd07240dcb1
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞