Constructor 构造器

  • 构造方法(构造函数,构造器)

    • 构造方法又被称为 构造函数/构造器/Constructor

    • 构造方法的语法结构:

      [修饰符列表]  构造方法名  (形式参数列表){
      
                构造方法体;
      }
    • 与普通方法对比发现

      [修饰符列表] 返回值类型 方法名(形参列表){

      方法体;

      }

      对比发现: 对于构造方法来说,“返回值类型”,是不需要指定,并且也不能写void,如果写上void就变成普通方法了。

  • 构造方法的调用: new 构造方法名(实参列表);

  • 构造方法的作用:

    *创建对象。 创建对象时用New关键字实例化对象的本质就是在调用构造器。

    *创建对象的同时,初始化实例变量的内存空间。

  • 构造方法的注意点

    • 构造方法名 必须和 当前类名 保持一致。

    • 构造方法没有返回值类型,void也不能写。

    • 当一个类中没有提供任何构造方法的话,系统默认给该类提供一个无参数的构造方法,这个方法叫做缺省构造器。

    • 当一个类中定义了构造方法,那么系统则不再提供默认的缺省构造器

    • 在同一个类中方法名相同,参数列表不同成为方法重载。构造方法支持重载机制。

    • 如果创建了有参构造方法,那么系统就不会默认添加无参构造方法了,建议创建有参构造方法的时候,显式添加无参构造方法。

  • 构造方法调用执行之后有没有返回值?

    • 每一个构造方法实际上执行结束后都有返回值,返回值类型就是类名本身。
  • 实例

public class user {

      //无参构造方法
public user() {} // 有参构造方法
public user(int i) {
System.out.println("带有int类型的有参构造方法");
} public user(String name) {
System.out.println("带有String类型的有参构造器");
} public user(int i,String name ) {
System.out.println("带有int类型和 String类型的有参构造方法");
}
}

Day05_21_Constructor构造器的更多相关文章

  1. Java之类的构造器(反射)

    反射: Java反射机制:指的是在Java程序运行状态中,对于任何一个类,都可以获得这个类的所有属性和方法;对于给定的一个对象,都能够调用它的任意一个属性和方法.这种动态获取类的内容以及动态调用对象的 ...

  2. Swift3.0P1 语法指南——构造器

    原档:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programmi ...

  3. Duilib源码分析(二)控件构造器—CDialogBuilder

    上一节了解了大体流程,但是界面控件元素是如何被加载.解析.构建.管理.控件消息如何处理的呢?接下来我们将结合控件构造器进行分析: CDialogBuilder:控件构造器,主要用以解析xml配置文件并 ...

  4. java面向对象_构造器

    构造器(构造方法):是类中定义的方法. 1)常常用于给成员变量赋值: 2)与类同名,没有返回值类型,也不能写void: 3)在创建对象时被自动调用.所以构造方法的访问修饰符要用public,才能被自动 ...

  5. 静态工厂方法VS构造器

    我之前已经介绍过关于构建者模式(Builder Pattern)的一些内容,它是一种很有用的模式用于实例化包含几个属性(可选的)的类,带来的好处是更容易读.写及维护客户端代码.今天,我将继续介绍对象创 ...

  6. 008-Scala主构造器、私有构造器、构造器重载实战详解

    008-Scala主构造器.私有构造器.构造器重载实战详解 Scala主构造器实战 无参数的主构造器 分析 1.name 需要赋初值,一般通过占位符来代表空值 2.private 声明私有的age 生 ...

  7. 【Thinking in Java】编写构造器时应注意:尽量避免调用其他非private方法

    最近重温了<Thinking in Java>,发现了一个让我为之兴奋的知识漏洞,必须得分享一下. 上一篇的<Java类初始化的过程>的随笔中,那个初始化顺序并不完整.初始化的 ...

  8. java构造器

    java的构造器不是方法,因为没有返回值. 构造器可以重载. 构造器的访问说明符: private:只有本类可以使用这个构造器. protected:这个类的子类和包中的类都可以使用此构造器. pub ...

  9. javascript对象初探(一)--- 构造器函数

    我们可以通过构造器函数(简称构造函数)来创建对象: function Her(){ this.child = 'Jon'; } 为了使用该函数来创建对象,我们需要使用new操作符,例如: var sh ...

随机推荐

  1. java与freemarker遍历map

    一.java遍历MAP /** * 1.把key放到一个集合里,遍历key值同时根据key得到值 (推荐) */ Set set =map.keySet(); Iterator it=set.iter ...

  2. JUnit5学习之六:参数化测试(Parameterized Tests)基础

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  3. SpringCloud(一):微服务架构概述

    1-1.  系统进化理论概述 在系统架构与设计的实践中,经历了两个阶段,一个阶段是早些年常见的集中式系统,一个阶段是近年来流行的分布式系统: 集中式系统: 集中式系统也叫单体应用,就是把所有的程序.功 ...

  4. Vue.js 多选列表(Multi-Select)组件

    搬运公众号早前文章 多选列表 (Multi-Select) 是一种将所有选项列出,并允许用户利用 Ctrl/Shift 键进行多选的 UI 元素.这是一种常见的设计元素.有时候为了节省空间,我们会将选 ...

  5. SSRF攻击原理

    目录 什么是SSRF 原理 防护 什么是SSRF 一个对外的Web接口,改接口能让用户控制curl命令,去访问别的web服务. 简图如下 想象一下当用户请求的baidu.com/x.php?image ...

  6. 数据结构-PHP 线段树的实现

    转: 数据结构-PHP 线段树的实现 1.线段树介绍 线段树是基于区间的统计查询,线段树是一种 二叉搜索树,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点.使用线段树可以快速的查 ...

  7. ajax请求添加自定义header参数

    beforeSend: function (XMLHttpRequest) { XMLHttpRequest.setRequestHeader("X-Auth0-Token", g ...

  8. HDR(高动态范围)

    一: 简介 一般来说,当存储在帧缓冲(Framebuffer)中时,亮度和颜色的值是默认被限制在0.0到1.0之间的. 但是如果我们遇上了一个特定的区域,其中有多个亮光源使这些数值总和超过了1.0,又 ...

  9. 原生js日历选择器,学习js面向对象开发日历插件

    在web开发过程中经常会碰到需要选择日期的功能,一般的操作都是在文本框点击,然后弹出日历选择框,直接选择日期就可以在文本框显示选择的日期.开发好之后给用户使用是很方便,但如果每一个日历选择器都要临时开 ...

  10. mongodb导入,导出实例

    MongoDB中文手册|官方文档中文版 英文版:https://docs.mongodb.com/manual/ 1.mongoexport 导出文件 打开命令行,进入我们所安装的mongodb路径下 ...