Java 构造函数和函数重载

  构造函数:⑴方法名和类名相同,而且没有返回类型(包括 void 也没有);

       ⑵没有返回值;

       ⑶如果没有输入构造函数,jvm会自动帮我们创建一个不带参数,没有任何函数体的的构造函数;

        如果我们手动的创建了其他构造函数,就不会帮我们创建这个不带参数的构造函数了;

       ⑷一般情况下,如果想要实现自己的构造方法,最好重载一个不带参数的构造方法。

  

  函数重载:指多个函数可以使用同一个函数名,只要它们参数列表不同,将意义相近的函数,命名为相同的名称。

  重载总结:⑴函数重载是指多个函数使用同一个名称;

       ⑵重载的条件是参数的数量和类型不同;

       ⑶重载作用:降低调用的难度;

       ⑷当调用重载的函数时,计算机层根据实参自己匹配。

  例题:

     public Noddle(){
       this.bowlType = "大碗";
            }

public Noddle(String b){
                  bowlType = b;
            }
    public Noddle(String bowlType, String type, boolean moreMeat){
      this.bowlType = bowlType;
      this.type = type;
      this.moreMeat = moreMeat;
    }

时间: 2024-12-29 07:35:25

Java 构造函数和函数重载的相关文章

对比C++与Java中的函数重载、覆盖、和隐藏

                                  在C++中 1.函数的重载 C++中的函数的重载要求的是  函数名相同 参数列表必须不同  返回值类型可以相同也可以不相同:只有参数列表不相同,在函数调用时,编译环境才能准确抉择调用的是哪个函数.例如:void display():void display(int  i);void dispaly(double  i);void  display(int i,double i); void display(double  i,i

Java学习3之成员方法及函数重载

方法的定义:方法名称,返回值,参数列表,修饰符(权限修饰符,final,static),实现体. 参考自:<Java 程序设计与工程实践> 方法的签名: 唯一区别其他方法的元素:(1)方法名称:(2)参数类型列表(参数顺序和类型).这就是方法的签名. 方法的签名不包括方法的返回值.虽然每个重载方法可以有不同的返回类型,但返回类型并不足以区分所使用的是哪个方法. example:(1)public void on(){} public int on(){};这样两个方法编译器依然认为是相同的方法

JavaScript 没有函数重载&amp;Arguments对象

对于学过Java的人来说,函数重载并不是一个陌生的概念,但是javaScript中有函数重载么...接下来我们就进行测试 <script type="text/javascript"> //JavaScript不存在函数重载现象 var add=function(a,b){ return a+b; } var add=function(a,b,c){ return a+b+c; } <span style="white-space:pre">

JavaScript 没有函数重载&amp;amp;Arguments对象

对于学过Java的人来说.函数重载并非一个陌生的概念,可是javaScript中有函数重载么...接下来我们就进行測试 <script type="text/javascript"> //JavaScript不存在函数重载现象 var add=function(a,b){ return a+b; } var add=function(a,b,c){ return a+b+c; } <span style="white-space:pre">

第五篇:明确拒绝不想编译器自动生成的拷贝构造函数和赋值运算符重载函数

前言 如果你不想要编译器帮你自动生成的拷贝机制 (参考前文),那么你应当明确的拒绝. 如何拒绝?这便是本文要解决的主要问题. 问题描述 当你定义了一个类,而这个类中各对象之间也是封装的 - 禁止同类对象之间的相互赋值以及复制,那么你需要屏蔽掉编译器帮你生成的拷贝构造函数以及赋值运算符. 在许多代码中,会看到通过将拷贝构造函数和赋值运算符重载函数声明为私有且不予实现来实现这个功能.然而,这不是最科学的做法. 因为这没有做到真正的屏蔽:你在自己的成员函数中,或者友元函数中仍然可以调用这两个私有函数,

明确拒绝不想编译器自动生成的拷贝构造函数和赋值运算符重载函数

前言 如果你不想要编译器帮你自动生成的拷贝机制 (参考前文),那么你应当明确的拒绝. 如何拒绝?这便是本文要解决的主要问题. 问题描述 当你定义了一个类,而这个类中各对象之间也是封装的 - 禁止同类对象之间的相互赋值以及复制,那么你需要屏蔽掉编译器帮你生成的拷贝构造函数以及赋值运算符. 在许多代码中,会看到通过将拷贝构造函数和赋值运算符重载函数声明为私有且不予实现来实现这个功能.然而,这不是最科学的做法. 因为这没有做到真正的屏蔽:你在自己的成员函数中,或者友元函数中仍然可以调用这两个私有函数,

C++文件头,命名空间,new和delete,内联函数,引用,函数重载,构造函数和析构函数,深拷贝和浅拷贝,explict,this指针

 目  录 1       开始学习C++.............................................................................................................. 4 1.1       C++的头文件.................................................................................................

函数重载与复制构造函数

函数重载与复制构造函数   一.函数重载 1.普通函数重载 用main函数多次重复调用一个相同名字但是不同类型的函数来处理不同类型的数据. 如 void func(int); void func(double); float func(float); void func(double); 2.成员函数的重载 我们可以将函数的重载推广到类的成员函数. Class  boy { Public: void  sum(); void  sum(int  x, int  y); } 二.函数的默认参数 在

深入java函数重载

深入java函数重载 先思考几个问题: 有这个一个重载的函数: public static void chongZai1(ArrayList list){ System.out.println("ArrayList "); } public static void chongZai1(AbstractList list){ System.out.println("AbstractList "); } public static void chongZai1(List