`
醒111
  • 浏览: 4632 次
最近访客 更多访客>>
NX
社区版块
存档分类
最新评论

构造方法和函数重载

阅读更多
构造方法:

格式: 访问权限  类名(){}    //普通方法格式: 访问权限 返回值 方法名(参数){}
代码实例:
public class Student{
    //无参构造方法
    public Student(){
    }
    //有参构造方法,构造时,传入名字参数,初始化name的属性值
    public Student(String name){
    this.name=name; 
    }
    //普通方法定义
    public void study(int hour){
    System.out.println("学习了"+hour+"小时");
    }
}
    每一个类都有一个默认的无参构造方法。使得我们可以通过new 类名()调用而创建对象,同时初始化对象的一些变量。
    构造方法没有任何返回值的定义,但是构造方法是有返回值的,返回的是创建对象的地址。且构造方法必须名字与类名相同,创建对象时调用。
   构造方法可以进行重写,集构造方法重载。其好处是,创建对象是就可以初始化内部的属性值。但如果重新写了一个有参的构造方法,则默认的无参构造方法就不能调用,除非在类中进行显示声明。


方法重载:

在一个类中,可以定义多个同名,但参数不同(参数个数不同或参数类型不同,或参数顺序不同)的方法,叫做方法重载。
代码实例:
public class Student(){
public void  study(){
    System.out.println("学生没有学习!");
}
public void study(Sting name,int hour){
    System.out.println(name+"学习了"+hour+"小时。");
}
public void study(int huor){
    System.out.println("学生学习了"+hour+"小时。");
}
}
public static void main(String[] args){
    String n="Jim";
    int k=3;
   Student st1=new Student();//调用第一个构造方法,无参
   Student st2=new Student(n,k);//调用第二个构造方法,两个参数
    Student st3=new Student(k);//调用第三个构造方法,一个参数
}
调用时,参数与那个方法定义时的参数匹配,就调用哪个方法。
方法的重载体现了面向对象的,做同一件事的不同方法。
但是方法不可以通过改变返回值来重载。




分享到:
评论

相关推荐

    构造函数重载

    在VS2010中编写构造函数重载的代码,可以利用其强大的调试工具、代码编辑器和项目管理功能来方便地进行开发。 4. **代码示例**:通常,构造函数重载的代码会包含多个具有不同参数的构造函数。例如,一个简单的类...

    详解C++中构造函数,拷贝构造函数和赋值函数的区别和实现

    C++中一般创建对象,拷贝或赋值的方式有构造函数,拷贝构造函数,赋值函数这三种方法。下面就详细比较下三者之间的区别以及它们的具体实现 1.构造函数 构造函数是一种特殊的类成员函数,是当创建一个类的对象时,它...

    运算符重载和函数重载

    ### 运算符重载和函数重载 #### 概述 在面向对象编程中,重载是一种重要的机制,它允许我们为同一个名称定义多个不同的实现。这不仅可以提高代码的可读性和简洁性,还可以更好地封装行为。在C++中,重载主要分为两...

    重写重载构造函数

    重写重载构造函数 重写是子类的方法覆盖父类的方法,要求方法名和参数都相同。重载是在同一个类中的两个...重写重载构造函数是面向对象编程中的一种重要机制,能够帮助开发者更好地设计和实现类和structs的构造函数。

    实验六函数重载与运算符重载

    ### 实验六:函数重载与运算符重载 #### 实验目的 1. **掌握函数重载的方法**:理解并能够实现...以上是针对实验六“函数重载与运算符重载”的具体实现方法及代码示例,希望能够帮助理解和掌握这些重要的概念和技术。

    友元函数的函数重载程序

    本文将通过一个具体的例子——分数加减运算——来详细讲解如何在C++中实现友元函数和函数重载。 #### 友元函数 友元函数允许某个类的非成员函数访问该类的私有或保护成员。这通常用于实现一些特殊的操作,比如比较...

    两个二维数组相加,用成员函数重载运算符“+”和“-”

    ### 两个二维数组相加与相减:使用成员函数重载运算符“+”和“-” 在C++中,运算符重载是一种强大的特性,它允许程序员改变内置运算符的行为,使其适用于自定义类型(如类或结构)。本文将详细介绍如何通过成员...

    构造函数与析构函数

    每个类都具有构造函数和析构函数。其中,构造函数在定义对象时被调用,析构函数在对象释放时被调用。如果用户没有提供构造函数和析构函数,系统将提供默认的构造函数和析构函数。 1.构造函数 构造函数是一个与类同名...

    课堂笔记07(包-构造方法-方法重载-封装-方法参数的传递

    这篇课堂笔记07主要涵盖了五个关键的Java编程概念:包(Package)、构造方法、方法重载、封装以及方法参数的传递。让我们逐一深入理解这些知识点。 首先,包是Java中用于组织类和接口的一种机制,它类似于文件系统...

    一起学C#:构造函数和析构函数.rar

    5. **重载**:与普通方法一样,构造函数也可以被重载,即在同一类中可以定义多个具有不同参数列表的构造函数。 接下来,我们谈谈析构函数。析构函数在C#中主要用于清理对象不再需要时的资源,如释放非托管资源。析...

    C#中构造函数和析构函数的用法

    构造函数是一种特殊的方法,用于初始化新创建的对象。当创建一个类的新实例时,构造函数会被自动调用。它没有返回类型,名称必须与类名相同,并且可以有零个或多个参数。构造函数的主要任务是设置对象的状态,确保其...

    Java小程序--关于Date类的构造函数的重载

    对于Date类中的构造函数,使用重载的方法,可以选择3中方式输出:1.MM/XX/DDDD 2.January 7 1989 3.37 1989(前一个参数为一年中的第37天) 使用s.equal("m")比较字符串。

    面向对象作业1-构造函数+运算符重载.docx

    1. **构造函数实现**:在 `MyTime` 类中,有两个构造函数,分别用于初始化时间和从字符串构建时间对象。构造函数内部计算了总秒数 `add`,便于后续进行时间的相减操作。 2. **运算符重载实现**:`operator-` 成员...

    有关于JS构造函数的重载和工厂方法

    当我们谈论构造函数的重载和工厂方法时,这是关于如何灵活地创建和初始化对象的两种技术。 ### 构造函数的重载 在许多面向对象的语言中,如C++或Java,我们可以为同一个函数提供多个不同的实现,这就是所谓的重载...

    string 类实现,构造函数、析构函数、操作符重载等

    在本篇文章中,我们将深入探讨一个自定义`String`类的实现细节,该类包含了构造函数、析构函数以及各种常用的操作符重载方法。通过具体的代码示例,我们可以更好地理解这些功能如何在C++中被实现。 #### 一、String...

    C#构造函数的理解

    ### C#构造函数的理解 #### 一、构造函数的基本概念 构造函数是一种特殊的方法,用于初始化新创建的对象。...此外,构造函数还支持构造函数重载和调用基类构造函数等高级特性,使得类的设计更加灵活多样。

    构造函数与静态块的执行顺序

    构造函数可以被重载,即在同一个类中可以有多个具有不同参数列表的构造函数。 静态块(`static`)是在类定义中包含的一段特殊的代码块,它在类加载时执行,而不是在对象创建时执行。静态块常用于初始化静态变量或...

    浅谈C# 构造方法(函数)

    C# 构造方法(函数) C# 构造方法是一种特殊的方法,用来初始化对象,为类的成员赋值。构造方法具有强制性的特点,一旦我们在类中编写了构造方法,那么这个自动生成的无参构造函数就不会生成。根据此特性,我们可以只...

    定义一个名为complex 的复数类,其属性数据为复数的实部和虚部,要求构造函数和拷贝构造函数,并能打印复数的值

    以上就是定义一个`complex`复数类的基本步骤,包括构造函数、拷贝构造函数和打印功能。在实际项目中,我们可能还需要为这个类添加其他功能,比如复数的加法、减法、乘法和除法等操作,以及重载相应的运算符,以提高...

    c#函数方法,构造函数与析构函数

    C#支持构造函数重载,即一个类可以有多个构造函数,只要它们的参数列表不同即可。 ```csharp public class MyClass { public int i; public string s; public MyClass(int i) { this.i = i; Console.WriteLine...

Global site tag (gtag.js) - Google Analytics