集团主站
欢迎来到成都达内官方网站!达内—美国上市公司 亿元级外企IT培训企业!
成都it培训哪家好
成都it培训哪家好
全国服务监督电话:15023458194  |   联系客服   |
当前位置:主页 > 培训课程 > Java >

学JAVA成都-java构造方法

发布者: 成都达内     浏览次数:     发布时间:2020-02-24 12:09:21

Java构造函数是特殊的方法(没有返回类型),使您可以在应用程序内部的其他类使用对象之前完全初始化对象状态。Java中的构造方法是使用new关键字调用的。...

  Java构造函数是特殊的方法(没有返回类型),使您可以在应用程序内部的其他类使用对象之前完全初始化对象状态。Java中的构造方法是使用new关键字调用的。

  学JAVA成都下面让我们更深入地了解构造函数。

  1.什么是java构造函数

  构造函数是一种特殊的方法,类似于(没有确切的方法)构造,它可以帮助程序员在对象可被应用程序中的其他对象使用之前编写对象初始化代码。

  每当应用程序需要任何类的新实例时,JVM就会在堆内部分配一个内存区域。然后,JVM执行调用的构造函数(类可以具有多个构造函数)并初始化对象状态。在构造函数内部,您可以访问所有对象属性,并将它们分配给它们的默认值或任何所需的值。

  2.构造函数类型

  2.1.默认构造函数(无参数构造函数)

  如果程序员在类定义中不提供任何构造函数,则JVM在运行时为该类提供默认构造函数。

  程序员还可以覆盖类中的默认构造函数。让我们看一下语法。

  public class Employee

  {

  public Employee() {

  }

  }

  在默认构造函数中,构造函数的名称必须与类名称匹配,并且不应具有任何参数。

  2.2通过构造函数重载进行参数化构造函数

  如上所述,一个类中可以有多个构造函数。这可以通过重载构造函数来实现。在构造函数重载中,您可以根据要求传递参数列表,即可以初始化类的数量。

  public class Employee {

  private String firstName;

  private String lastName;

  public Employee() { //constructor 1

  }

  public Employee(String firstName) { //constructor 2

  }

  public Employee(String firstName, String lastName) { //constructor 3

  }

  }

  在上面的类中,我们定义了3个构造函数来处理3种情况–应用程序可能需要如何创建employee对象,即不使用名称,仅使用名字以及同时使用名字和姓氏。

  Employee employee1 = new Employee();

  Employee employee2 = new Employee("Lokesh");

  Employee employee3 = new Employee("Lokesh", "Gupta");

  3.构造规则

  在Java中创建构造函数的强制性规则很少。

  构造函数名称必须与类的名称相同。

  构造函数定义中不能有任何返回类型。

  构造函数中不能有任何return语句。

  构造函数可以由不同的参数重载。

  如果要使用super()超类构造函数,则它必须是构造函数中的第一条语句。

  学JAVA成都-java构造方法

  4.构造器链接

  在Java中,可以在构造函数内调用其他构造函数。就像方法调用一样,但是没有任何引用变量(显然,实例已完全初始化)。

  现在我们可以调用相同类或父类的构造函数。两者使用不同的语法。

  4.1调用同一个类的构造函数

  要从同一类调用其他构造函数,请使用this关键字。例如,

  public Employee() {

  }

  public Employee(String firstName) {

  this(); //calling default constructor

  }

  public Employee(String firstName, String lastName) {

  this(firstName); //calling constructor with single argument of String type

  }

  4.2 调用超类构造函数

  要从父类或父类调用构造函数,请使用super关键字。super关键字的用法与关键字相似this–唯一的区别是super引用超类和this当前实例。

  public Employee() {

  //refer to Object class constructor

  //as it is parent class for every class

  super();

  }

  5.私有构造方法

  有时您想保护构造函数以免被其他类调用。总之,您希望没有人能够创建该类的新实例。

  为什么有人要那个?好吧,这是单例模式所必需的。在单例中,应用程序希望只有任何一个类的一个实例。

  常见的单例类定义如下所示:

  public class DemoSingleton implements Serializable

  {

  private static final long serialVersionUID = 1L;

  private DemoSingleton() {

  // private constructor

  }

  private static class DemoSingletonHolder {

  public static final DemoSingleton INSTANCE = new DemoSingleton();

  }

  public static DemoSingleton getInstance() {

  return DemoSingletonHolder.INSTANCE;

  }

  protected Object readResolve() {

  return getInstance();

  }

  }

  学习愉快!

(责任编辑:范老师)
最新开班
  • 成都Java培训班
    免费试听名额发放中...
  • 成都C++培训班
    免费试听名额发放中...
  • 成都PHP培训班
    免费试听名额发放中...
  • 成都网络工程培训班
    免费试听名额发放中...
  • 成都Unity3D培训班
    免费试听名额发放中...
  • 成都大数据培训班
    免费试听名额发放中...
  • 成都uid培训班
    免费试听名额发放中...
  • 成都会计培训班
    免费试听名额发放中...
  • 成都Python培训班
    免费试听名额发放中...
  • 成都嵌入式培训班
    免费试听名额发放中...
  • 成都web培训班
    免费试听名额发放中...
  • 成都软件测试培训班
    免费试听名额发放中...
在线留言
提交

校区地址:成都市锦江区东大街紫东楼端35号明宇金融广场19楼1906室

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市高新区奥克斯广场蜀锦路209号一楼商铺

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都锦江区东大街芷泉街229号东方广场C座3楼303

联系电话:15023458194

公交路线:芷泉街(188路;115路;515路;236路;505路;501路;84路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市武侯区佳灵路3号红牌楼广场2号写字楼11楼1115号

联系电话:15023458194

公交路线:红牌楼东(11路;92路;100路;111路;139路;g28路;快速公交K1/K2) 地铁路线:红牌楼站(地铁3号线)

校区地址:成都市锦江区红星路二段70号四川日报大厦502-2

联系电话:15023458194

公交路线:市二医院站(6路;49路;102路;5路;37路;g92路;) 地铁路线:地铁市二医院(地铁3号线)

校区地址:成都市锦江区东大街芷泉段229号东方广场C座16层

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:四川省成都市武侯区高新科技孵化园9号园区E座7楼

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都市高新区奥克斯广场B座1708

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

了解达内动态
关注成都达内教育公众号

首页 | 关于达内 | 课程中心 | 专家师资 | 视频教程 | 学员空间 | 校企合作 | 新闻资讯 | 就业指导 | 网站地图

2016-2025 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56