课程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);
  }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 面向对象不是一门新技术,而是一门解决问题的新思路。 面向对象是相对于面向过程的一种解决问题新思路,在知道面向对象之...
    小妖德八戒阅读 222评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,742评论 18 399
  • 一、理解对象 1.创建 ①构造函数 new Object ②对象字面量 var o = {}; 2.属性类型 ①数...
    duJing阅读 427评论 0 0
  • 2014年的苹果全球开发者大会(WWDC),当Craig Federighi向全世界宣布“We have new ...
    yeshenlong520阅读 2,311评论 0 9
  • 不知为什么,我一直惧怕即将到来的工作。离正式工作仅有一个半月,因此这段时间内我一直惶恐不安,不知道该怎么过好接下来...
    小敏纸阅读 1,498评论 5 8