文档章节

对象构造

遇见你
 遇见你
发布于 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
郑州
程序员
私信 提问
Java 静态代码块,构造代码块,构造函数执行顺序。

先来理解下每个的意思, 静态代码块 关键字static,实例如下: 特点:类的加载而执行,只执行一次,并优先于主函数。具体说,静态代码块是由类调用的。类调用时,先执行静态代码块,然后才执...

一曲图森破
09/26
0
0
通过一个轮播图插件来了解构造函数

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

heart_of_time
05/12
0
0
C++中构造函数与析构函数的调用顺序

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

SibylY
2013/09/25
0
0
Spring的三种依赖注入方式讲解

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

yiguang_820的博客
2017/12/14
0
0
面向对象—this关键字的使用

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

权晓魏
04/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

为什么要学习Python?这10个理由足够了!

摘要: 看完这十个理由,我决定买本python从入门到精通! 如果你定期关注现今的科技发展,那么你可能想知道我为什么要写这篇文章告诉人们学习Python?因为几年前我提倡Java而不是Python。 在...

阿里云官方博客
19分钟前
2
0
spring服务方式配置okhttp3

问题 如果把OKhttp以Spring服务方式配置,就解决了从配置中心运行时刷新配置参数的问题。 OkHttpConfig.java package com.zyl.config;import okhttp3.OkHttpClient;import org.springfra...

亚林瓜子
20分钟前
2
0
8张图让你一步步看清 async/await 和 promise 的执行顺序

**摘要:**面试必问 原文:8张图帮你一步步看清 async/await 和 promise 的执行顺序 作者:ziwei3749 Fundebug经授权转载,版权归原作者所有。 为什么写这篇文章? 说实话,关于js的异步执行顺...

Fundebug
20分钟前
1
0
Linux 命令菜单

#!/bin/bash #menu.sh menu(){ source ~/.bashrc echo "=================================" echo "Please enter your choise:" echo "(0) Kill all java" echo "(1) Start all tomcat" echo......

mellen
26分钟前
3
0
原来云数据库也是有思想的...

本文由一刻talks发表 邵宗文,腾讯云数据库专家副总监。十余年数据库从业经验,2009年加入腾讯,曾负责腾讯网,新闻客户端,快报,视频,财经,体育等数据库平台部署、规划及运维支持工作。本...

腾讯云加社区
27分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部