Java的构造器
初始化和清理是涉及安全的两个问题。C++和Java都引入了构造器(constructor)的概念,这是一个在创建对象时被自动调用的特殊方法。
可以假想为编写的每个类都定义一个initialize()方法。在每次使用对象的时候,都会用这个方法。在Java中,通过提供构造器,类的设计者可确保每个对象都会得到初始化。
在Java中,构造器与类的名称是相同的。如果没有定义构造器,那么Java就会自动调用默认的构造器。
我们先来看看一个带有构造器的简单类:
class Yes(){
Yes(){
System.out.print("Yes")
}
}
public class breakyizhan {
public static void main(String[] args) {
for(int i=0; i <5;i++){
new Yes()
}
}
/*
(www.breakyizhan.com) 输出结果是:
Yes Yes Yes Yes Yes
*/
上面这个构造器是没有接受任何参数的构造器,叫做默认构造器,也就做无参构造器。但是还有一种带参数的构造器,如下:
class Yes(){
Yes(int i){
System.out.print("Yes" + i)
}
}
public class breakyizhan {
public static void main(String[] args) {
for(int i=0; i <6;i++){
new Yes(i)
}
}
/*
(www.breakyizhan.com) 输出结果是:
Yes 0 Yes 1 Yes 2 Yes 3 Yes 4 Yes 5
*/
构造器是一种特殊类型方法,它没有返同值。这是Java用来初始化用的特殊方法,在一个类中,也可以有很多个构造器,来对这个类创建对象时进行初始化。
更多教程,请访问: Break易站

Java的构造器的更多相关文章
- Java私有构造器
Java私有构造器:使用private关键字声明的构造函数.由于类的构造函数时私有的,所以此类不能被实例化,同时也不能被继承.<Effective Java>第三条:用私有构造器或者枚举强 ...
- Java父类构造器的讲解
众所周知,对于Java中的所有类而言,它们有一个根父类,即java.lang.Object类. 对于Java中构造器执行的顺序而言,程序执行的顺序为,先执行父类的非静态代码块,然后执行父类的相应的构造 ...
- java中构造器(Constructor)
大部分内容转自:http://tech.it168.com/j/2006-05-18/200605181021879.shtml 构造器是一个创建对象时被自动调用的特殊方法,为的是初始化 ...
- 《Java基础——构造器(构造方法)》
Java基础--构造器(构造方法) 总结: 1.构造器名应与类名相同,且无返回值. 2."new 方法"的本质就是在调用构造器. 3.构造器的作用--初始化对象的值. ...
- Java之构造器的作用
我总是要把构造器和方法混淆,后来发现, 方法,实际上,是需要用于执行java代码的,而构造器, 构造器,,,是一个类的实例!! 为什么呢? 类的实例,我们需要用类来创建对象,进而访问其属性,因为实例是 ...
- java 父类构造器
当创建任何java对象时,程序总会首先调用系统的父类非静态初始化块(隐式执行)和父类构造器(从object开始(java程序中所有类的最终父类都是java.lang.Object类,使用语句super ...
- Java :构造器中的显式参数和this隐式参数
1.构造器 写一个Java类,首先要先从构造器开始,构造器与类同名,在构造类的对象时会先从构造器开始. 构造器总是伴随着new操作符的执行而被调用. 构造器主要是用来初始化类的实例域. 构造器的特点: ...
- Java之构造器和构造方法的使用和意义
我总是要把构造器和方法混淆,后来发现, 方法,实际上,是需要用于执行java代码的,而构造器, 构造器,,,是一个类的实例!!(我的理解,构造器是一个对象) 为什么呢? 类的实例,我们需要用类来创建对 ...
- java 类构造器中加入有参构造器及调用顺序【思路】
package com.ykmimi.new1; /** * * @author deadzq * */ public class AnyThing { public AnyThing() { thi ...
随机推荐
- Linux Shell 1 - Print from terminal
Two ways to print info from terminal - echo & printf - Echo a. Exclamation mark is supported in ...
- OpenCV 之 Mat 类
以前看 OpenCV 的书,或者资料也好,遇到 Mat 类的介绍,一般都是匆匆带过,自以为已经很熟悉了,从来没有深入研究过. 结果前段时间面试了一家公司,被问到两个 Mat 的问题:一是,谈谈对 Ma ...
- jQuery实现拼图小游戏
小熊维尼拼图 2017-07-23 ...
- python--DenyHttp项目(1)--socket编程:服务器端进阶版socketServer
在网上看到了SocketServer模块,于是Server端简化: #coding:utf-8 import socketserver class MyTCPHandler(socketserver. ...
- ASP.NET windows验证IIS配置
Windows验证时,需要配置IIS,把匿名验证设为disable,windows验证设为enable,window7 默认为匿名验证为enable,windows验证为disable. 否则会sys ...
- Hadoop 之 NameNode 元数据原理
在对NameNode节点进行格式化时,调用了FSImage的saveFSImage()方法和FSEditLog.createEditLogFile()存储当前的元数据.Namenode主要维护两个文件 ...
- SVN 、Git、Github的使用
1.1 SVN 总结以及使用建议 每一次保存历史记录实际上就是一次提交 什么时候去保存历史记录? 完成了一个具体的功能模块 代码运行没有bug 当天工作结束提交一次 没有 bug 的前提下去提交一次 ...
- javascript的词法作用域
这个概念是js中相当基础也是极为重要的,很多想当然的错误或感觉怪异的问题都是和这个东西有关.所以,本文主要说下这个名词的概念以及讨论下他牵扯出来的有关变量.函数.闭包的问题. 由变量开始谈 习惯性先来 ...
- python时间序列分析
题记:毕业一年多天天coding,好久没写paper了.在这动荡的日子里,也希望写点东西让自己静一静.恰好前段时间用python做了一点时间序列方面的东西,有一丁点心得体会想和大家 ...
- MarkDown入门指南
标题 标题是每篇文章必备而且最常用的格式. 在Markdown中,如果想将一段文字定义为标题,只需要在这段文字前面加上 #,再在 # 后加一个空格即可.还可增加二.三.四.五.六级标题,总共六级,只需 ...