文档章节

对象构造

遇见你
 遇见你
发布于 2016/02/04 16:44
字数 487
阅读 6
收藏 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
郑州
程序员
一张图理解JS的原型(prototype、_proto_、constructor的三角关系)

注意:前方高能预警,请认真仔细看完,阅读完后自己再次画下原型图,相信你一定会有更深刻的认识。(推荐炒鸡好用的画流程图的软件ProcessOn) 构造函数:function Foo ( ) { }; 实例对象:let...

粿粿乐
08/15
0
0
C/C++学习之路(一)

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

大黄有故事
2016/10/08
0
0
通过一个轮播图插件来了解构造函数

例子:https://github.com/wayaha/rotateChart 在ES5中,构造函数的使用可以说是很能体现面向对象的编程思想,有学过c的同学,可以很明显体会到面向过程和面向对象的区别,不多瞎扯,这次通过...

heart_of_time
05/12
0
0
编程思想 之「初始化与清理」

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

qq_35246620
2017/12/22
0
0
C++中构造函数与析构函数的调用顺序

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

SibylY
2013/09/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

RabbitMQ在CentOS环境安装

1.废话不多说准备一台虚拟机,系统为centos,我这里使用的系统版本如下图所示:

凌晨一点
51分钟前
0
0
线程池相关

在java.util.concurrent包下,提供了一系列与线程池相关的类。 使用线程池的好处 降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗; 提高响应速度。当任务到达时,任务...

edwardGe
52分钟前
0
0
学习大数据这三个关键技术是一定要掌握!

大数据时代全面来临,大数据、人工智能等技术引领科技创新潮流,获得国家政策大力支持,前景广阔。学习大数据技术的人自然是络绎不绝, 学习大数据虽然是一个趋势,但也要注意大数据培训课程...

董黎明
今天
0
0
jetbrains 上传代码到github

设置中找github 获取token 验证是否成功 测试git 生成key,一路回车即可 ssh-keygen -t rsa -C “youremail@example.com” 打开pub复制key,需要再次输入一次密码 验证是否成功,输入yes即可...

阿豪boy
今天
0
0
分布式服务框架(拾遗)

前言 现在的大部分工程都已经是基于分布式架构来处理。所以这里对分布式框架做一个简单的总结 常用的RPC框架 RPC框架原理 RPC(Remote Procedure Call,远程过程调用)一般用来实现部署在不同...

kukudeku
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部