Java中的构造函数和重载

一.Java中的构造函数

构造函数是对象被创建时初始化对象的成员方法,它具有和它所在的类完全一样的名字。构造函数只能有入口参数,没有返回类型,因为一个类的构造方法的返回类就是类本身。构造函数定义后,创建对象时就会自动调用它,对新创建的对象分配内存空间和初始化。在 Java 中,构造函数也可以重载,当创建一个对象时, JVM 会自动根据当前对方法的调用形式在类的定义中匹配形式符合的构造方法,匹配成功后执行该构造方法。

eg:

public Class Dog
{
   private int age;
  private String name;
   //无参构造
   public Dog(){}
  //带参构造:用于给类中的属性赋值
  public Dog(int age,string name)
  {
    this.age=age;
   this.name=name;
  }

}

二.Java中默认构造

如果省略构造方法的定义,则 Java 会自动调用默认的构造方法。但是如果定义了构造方法,则系统不再提供默认的构造方法。默认的构造方法没有任何参数,不执行任何操作。实际上,默认的构造方法的功能是调用此类的父类中的不带参数的那个构造方法,如果父类中不存在这样的构造方法,编译时会产生错误信息。 Object 是 Java 中所有类的根,定义它的直接子类,可以省略 extends 子句,编译器会自动包含它。

三.方法重载

方法名称相同,参数项不相同。那么认为一个方法是另一个方法的重载方法。

注意:重载只跟参数有关,与返回类型无关。方法名和参数相同而返回类型不相同,不能说是重载。

public void Say(int age){}

public int Say(int age,string name){}

public String Say(String name,String age){}

四.构造方法重载

构造方法重载是方法重载的一个典型的特例。参数列表不同。

可以通过重载构造方法来表达对象的各种多种初始化行为。也就是说在通过new语句创建一个对象时,可以实现在不同的条件下,让不同的对象具有不同的初始化行为。

public Class Text

{

Private String name;

Private String sex;

Public Text(String name){

 this.name=name;

}

Public Text(String name,String sex){

           this.name=name;

           this.sex=sex;

}

}
时间: 2024-12-14 09:32:33

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

Java中有关构造函数的一道笔试题解析

Java中有关构造函数的一道笔试题解析 1.具体题目如下 下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 2.解析说明 (1)class中的构造函数是可以省略的 /** * @Title:User.java * @Package:com.you.user.model * @Descrip

谈谈java中的构造函数

本篇博文主要是为新手.对java语言感兴趣的人和那些没有系统学习过java基础知识的人进行一个总结,在文章中对构造函数进行了较为详细的说明和讨论,也包含了我个人对于java面向对象中构造函数的一些看法.希望走在java学习道路上的同行者可以有一个较为清晰的认知和理解.当然仅为个人观点,水平有限,不足之处,还请大家多多指出,互相交流学习. 1.构造函数的概念 很多java新手谈到构造函数就会犯晕,我们先来看看什么是构造函数. 首先,构造函数是函数的一种特殊形式,特殊在哪里?构造函数中不需要定义返回

java中的覆盖,重载和多态

今天来介绍java中的三大强功能覆盖,重载和多态. 方法覆盖:当一个子类继承了一个父类时,它也同时继承了父类的属性和方法,可以直接使用父类的属性和方法,或者,如果父类的方法不能满足子类的需求,则可以在子类中对父类的方法进行"改造"即覆盖.在覆盖的过程中,需要提供和父类中的被覆盖方法相同的方法名称,输入参数以及返回类型.另外,在子类对父类的方法进行覆盖的过程中,不能使用比父类中的被覆盖方法更严格的访问权限,例如父类中方法的修饰符为public,则子类的覆盖方法不能用protected,d

Java中的构造函数引用和方法引用

方法引用的一些背景如果你还不知道 Java 构造函数本身就是特殊的方法,那么阅读方法引用的基本示例将对读者有所帮助,通过了解这些内容,可以了解构造函数引用是什么.方法引用可以引用静态方法和实例方法,两者是通用的.方法引用是函数式接口的实例.虽然 Lambda 表达式允许你动态创建方法实现,但通常情况下,一个方法最终会调用 Lambda 表达式中的另一个方法来完成我们想要完成的工作.更直接的方法是使用方法引用.当你已经有一个方法来实现这个函数式接口时,这是非常有用的.让我们看一个使用静态方法及实例

java中的重写和重载

重写 在java中有很多的继承,继承下来的有变量.方法.在有一些子类要实现的方法中,方法名.传的参数.返回值跟父类中的方法一样,但具体实现又跟父类的不一样,这时候我们就需要重写父类的方法,就比如我们有一个类叫做Animals,Animals类中有一个叫做Call,然后我们继承Animals又生成了Cat类和Dog类,Cat和Dog也分别有自己特别的叫声,程序如下: 1 class Animals { 2 public void call() { 3 System.out.println("啊啊啊

java中的构造函数

在c++中就学习了构造函数,今天学习java又碰到了构造函数,重新写一篇博客来理解一下 其实直接听这个词并不能理解这是什么,但其实看了它的作用,就很好理解了 当创建一个对象时,往往需要做一些初始化工作,例如对数据成员赋值等.为了解决这个问题,C++提供了构造函数.构造函数(Constructor)是一种特殊的成员函数,它的名字和类名相同,没有返回值,不需要用户调用(用户也不能调用), 而是在创建对象时自动执行.构造函数的作用是在创建对象时进行初始化工作,最常见的就是对成员变量赋值. 其实就是这样

简单的描述Java中的构造函数,及访问修饰符

作为一个Java 初学者,对Java的理解可能有些片面,甚至有些错误的理解,对于观看此处的您,希望您选择性观看!!! 访问修饰符: 1.常用访问修饰符: public 共有的 private 私有的 protect 保护 public 所有人能用,私有的自己能用,protect一个包里. 2.自动修正快捷键 ctrl+1(注:搜索MyEclipse快捷键大全,可以找到所有快捷键的)  真正的用法还要你自己去环境里体会. 3.面向对象,例如: 先建立一个学生1类: 1 package cn.cur

java 中的构造函数详细介绍

构造函数:也是功能,专门用于给对象进行初始化. 格式:1.函数名和类名相同 2.没有返回值类型 3.没有具体返回值 4.构造函数有return语句,用于结束初始化,可以不写. (构造函数私有化的话,它只能在本类中使用,而且其他程序无法创建该类的对象:无法对创建的对象进行初始化) 构造函数再对象创建时就执行,而且就执行一次 一般函数是在对象创建后,需要时才被对象调用,可以调用多次 注意1:定义的每一个类中,都有一个默认的空参数构造函数 注意2:一旦类中自定义了构造函数后,默认的构造函数就没有了 注

java中私有构造函数的作用

1. 强调类的单例模式 public class Elvs { //公有的静态域,来说明该类只能有一个实例(实例化一次后,后面都是同一个实例) public static final Elvs INSTANCE=new Elvs(); private Elvs(){}//将构造函数定义为私有变量后,就不能在外部去调用构造函数实例化类了 public void sys() { System.out.println("******"); } } public class Main { pu