文档章节

对象构造

遇见你
 遇见你
发布于 2016/02/04 16:44
字数 487
阅读 6
收藏 0
点赞 1
评论 0

重载(overloading)

    Java允许重载任何方法,而不只是构造器方法。因此,要完整地描述一个方法,需要指出方法名以及参数类型。

GregorianCalendar today = new GregorianCalendar();

    或者

GregorianCalendar deadline = new GregorianCalendar(2017,Calendar.DECEMBER,31);

    如果多个方法(例如,GregorianCalendar构造器方法)有相同的名字、不同的参数,便产生了重载。

    方法的签名(signature):方法名+参数类型      注:返回类型不是方法签名的一部分。也就是说,不能有两个名字相同、参数类型也相同却返回不同类型值的方法。

//java.lang.String类有四个称为indexOf的公有方法。它们的签名是:
indexOf(int)
indexOf(int,int)
indexOf(String)
indexOf(String,int)

默认域初始化(并不推荐使用,尽管可以这么做)

如果在构造器中没有显式地给域赋初值,那么就会被自动地赋为初值:数值为0,布尔型为false、对象引用为null。

无参数的构造器

对象由无参数构造函数构建时,其状态会设置为适当的默认值。

public class Employee{
    private String name;
    private double salary;
    private Date hireDay;
    public Employee(){
        name = "";
        salary = 0;
        hireDay = new Date();
    }
}

如果在编写一个类时没有编写构造器,那么系统就会提供一个无参数构造器。

如果类中提供了有参数的构造器,却没有提供一个无参数的构造器,则在构造对象时如果没有提供参数就会被视为不合法。

Employee(String name,double salary,int y,int m, int d)

对于上边的类,构造默认的雇员属于不合法。也就是调用

Employee e = new Employee();

如果希望所有域被赋予默认值,可以采用下列格式:

public ClassName(){
}

显式域初始化

可以在类定义中,直接将一个值赋给任何域。例如:

public class Employee{
    private String name="";
}


© 著作权归作者所有

共有 人打赏支持
遇见你
粉丝 6
博文 28
码字总数 8271
作品 0
郑州
程序员
C++中构造函数与析构函数的调用顺序

构造函数、析构函数与拷贝构造函数介绍 2.1构造函数 构造函数不能有返回值 缺省构造函数时,系统将自动调用该缺省构造函数初始化对象,缺省构造函数会将所有数据成员都初始化为零或空 创建一...

SibylY ⋅ 2013/09/25 ⋅ 0

C/C++学习之路(一)

C/C++学习之路(一) 今天我想要写的是关于调用构造函数的问题。 首先,我们先来弄懂关于构造函数的定义。在百度百科上,是这么定义的:构造函数 ,是一种特殊的方法。主要用来在创建对象时初...

大黄有故事 ⋅ 2016/10/08 ⋅ 0

编程思想 之「初始化与清理」

温馨提示:本系列博文(含示例代码)已经同步到 GitHub,地址为「java-skills」,欢迎感兴趣的童鞋、,纠错。 与其他语言相比,Java 的一大特点就是其自动的初始化与清理功能。对于基本数据类...

qq_35246620 ⋅ 2017/12/22 ⋅ 0

Spring的三种依赖注入方式讲解

三种依赖注入方式,即构造方法注入(constructor injection),setter方法注入(setter injection)以及接口注入(interface injection). 构造方法注入(constructor injection) 构造方法注入,就是...

yiguang_820的博客 ⋅ 2017/12/14 ⋅ 0

分析javascript的__proto__属性和constructor属性

在javascript中有三类对象,1用户创建的对象,2构造函数的对象,3原型对象 用户创建的对象,一般意义上使用new语句显式构造的方法。 构造函数的对象,普通的构造函数,即通过new调用生成普通...

bosscheng ⋅ 2013/04/25 ⋅ 2

面向对象—this关键字的使用

一.类和对象的概述 类:描述生活中的一类事物,是一类事物所具有的共性内容。比如人类,动物类,车类。 对象:基于这个类的实体(实例),比如人类中的某一个具体的人,张三就是一个具体的对象...

权晓魏 ⋅ 04/26 ⋅ 0

js中__proto__和prototype的区别和关系?

初学javascript的时候也跟题主一样搞不清楚,自己好好总结了一下: 首先,要明确几个点: 1.在JS里,万物皆对象。 方法(Function)是对象,方法的原型(Function.prototype)是对象。因此,它...

WolfX ⋅ 2016/06/20 ⋅ 0

java封装、构造方法、this

一、封装 特性:安全、将变化隔离、便于使用、提供重复性 例子 [root@bch04 java]# cat EmployeeDemo.java class Employee { private String id; private String name; private String gende......

huangzp168 ⋅ 04/26 ⋅ 0

反射机制详解下篇

java的反射机制一共分为上下两篇,上篇请参考:http://xinsz08.blog.51cto.com/10565212/1946912 下篇主要讲解: 1.利用反射技术获取构造方法,并使用构造方法创建对象 2.使用反射技术快速创建对...

xinsz08 ⋅ 2017/07/13 ⋅ 0

JavaScript 原型模式

普通对象 除了函数对象就是普通对象 2. 函数对象 函数对象本质上都是通过new Function()创造的 JavaScript内置有12个构造器/对象Number、Boolean、String、Object、Function、Array、RegExp、...

张泽立 ⋅ 05/21 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Android JNI 读写Bitmap的方法

Java层创建Bitmap,通过JNI将Bitmap传到C/C++进行处理 Java部分 public static native boolean greenBitmap(Bitmap bitmap); C/C++部分 JNIEXPORT jboolean JNICALL Java_com_test_Test_gree......

国仔饼 ⋅ 22分钟前 ⋅ 0

一次性让你懂async/await,解决回调地狱

什么是async? 欢迎留言讨论 async 函数是 Generator 函数的语法糖。使用 关键字 async 来表示,在函数内部使用 await 来表示异步。相较于 Generator,async 函数的改进在于下面四点: 内置执...

阿K1225 ⋅ 22分钟前 ⋅ 0

angular常用命令

.下载更新操作 1.利用npm下载angular的命令行工具AngularCLI: npm install -g @angular/cli 2.下载jquery: npm install --save jquery 3.更新npm: npm i -g npm 4.更新angular: ng update ......

消散了的诗意 ⋅ 24分钟前 ⋅ 0

window.print 页面打印

定义和用法 print() 方法用于打印当前窗口的内容。 语法 window.print(); window.print() 实际上,是浏览器打印功能菜单的一种程序调用。与点击打印功能菜单一样,不能精确分页,不能设置纸型...

初学者的优化 ⋅ 25分钟前 ⋅ 0

魔兽世界 7.0版本上 PVE装备全攻略

  T套 因为大家应该都会打穿副本的所以具体是哪个boss我就不说了。   T1: 所有套装都在【熔火之心】出   T2: 头原来是在【奥妮克希亚的巢穴】改到黑翼之巢的奈法利安了,腿是在【熔火之...

wangchen1999 ⋅ 25分钟前 ⋅ 0

java.math.BigDecimal使用小结

原文地址 java.math.BigDecimal使用小结 divide方法 使用BigDecimal.divide方法时一定要考虑: 除数是否为0 商是否是无限小数 正确的使用方式 判断除数是否为0,是0做另外的处理逻辑 调用除法...

666B ⋅ 28分钟前 ⋅ 0

关于qstring转char乱码问题。

if (OpenClipboard(NULL)) { HGLOBAL hgClip; EmptyClipboard(); QByteArray byay = FValue.toLocal8Bit(); //转latin编码 char *bochsrc_line = byay.data(); hgClip = GlobalAlloc(GMEM_DD......

backtrackx ⋅ 29分钟前 ⋅ 0

了解SSH加密和连接过程

介绍 SSH或安全shell是安全协议,也是安全管理远程服务器的最常用方式。通过使用多种加密技术,SSH提供了一种机制,用于在双方之间建立加密安全连接,对彼此进行身份验证,以及来回传递命令和...

吴伟祥 ⋅ 35分钟前 ⋅ 0

微信小程序

小程序的全局配置app.json 微信小程序的全局配置保存在app.json文件中。开发者通过使用app.json来配置页面文件(pages)的路径、窗口(window)表现、设定网络超时时间值(networkTimeout)以...

上官清偌 ⋅ 38分钟前 ⋅ 0

【转】百度坐标坐标系之间的转换(JS版代码)

/** * Created by Wandergis on 2015/7/8. * 提供了百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换 *///定义一些常量var x_PI = 3.1415926535897932...

HAVENT ⋅ 40分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部