首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

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

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

函数的重载

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

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

例子:(请动手)

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

代码语言:javascript
复制
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类演示了重载方法的调用。

代码语言:javascript
复制
class Demo02 {
  public static void main(String[] args) {
    Demo01 demo01 = new Demo01();
    demo01.funDemo01();
    demo01.funDemo01(100);
  }
}

构造函数的作用

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

特征:

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

例子:(请动手)

  1. 新建一个名称为Person.java的java源文件。
代码语言:javascript
复制
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); } }
下一篇
举报
领券