Java构造方法的含义和使用
我们实例化对象时,一般使用"类名 对象名 = new 类名()"来实例化,其实这样并不是十分严谨,只是编译器帮我们自动补全了一个空的构造方法,当实例化对象时,构造方法会被自动调用,所以我们应该是实例化的构造方法,那么构造方法是怎么定义的呢,方法如下:
public class Hello {
public Hello {
//这就是一个构造方法,构造方法没有返回值,方法名与类名相同,参数可以有,也可以不用指定
}
}
那么上面这个就是构造方法了,特点注释已经说明了,那么这个方法就是系统初始化的构造方法,里面可以写一些语句,当实例化对象时,构造方法会被自动调用,如果我们自己定义了新的构造方法,那么系统就会执行我们定义的,而不是默认的
我们还可以定义有参数的构造方法,目的是初始化成员变量的值,或者实例化的时候传入一些参数,我们同时可以很好地控制参数的合法性,并且有选择的进行初始化,为程序设计带来方便
另外要注意:有参数的构造方法可以和无参数的构造方法同时存在,也就是说一个类中允许出现两个构造方法,并且一个有参数一个无参数;
那么我们实例化对象的时候,如果不写参数比如:Hello he = new Hello();这样系统就调用无参数的构造方法;
如果同时实例化另外一个对象:Hello he1 = new Hello(1.2f,2.3f,3.0);那么系统就会调用我们所写的有参数的构造方法,
如果我们只定义了有参数的构造方法没有定义无参的构造方法,那么我们实例化对象的时候必须赋初始值,否则系统不会给我们添加无参的构造方法
另外构造方法和普通方法一样可以重载,我们可以根据需要来实例化对象
Java构造方法的含义和使用的更多相关文章
- java中<load-on-startup>含义
java中 load-on-startup 含义 java中的 load-on-startup 用于表示该servlet是否在servlet容器启动的时候加载. 示例: <load-on-sta ...
- Java构造方法与析构方法实例剖析
Java构造方法 类有一个特殊的成员方法叫作构造方法,它的作用是创建对象并初始化成员变量.在创建对象时,会自动调用类的构造方法. 构造方法定义规则:Java 中的构造方法必须与该类具有相同的名字,并且 ...
- Java 构造方法总结
Java 构造方法总结 ①方法名和 类名相同 ②在方法名的前面没有返回值类型的声明 ③在方法中不能使用return语句返回一个值 ④在创建对象时,要调用new,如:book b1=new book() ...
- [转]java构造方法的访问修饰符
http://my.oschina.net/u/1464678/blog/210359 1. 类(class) 可见性修饰符: public—在所有类中可见,在其他包中可以用import导 ...
- 详解Java构造方法为什么不能覆盖,我的钻牛角尖病又犯了....
一 看Think in Java,遇到个程序 class Egg2 { protected class Yolk { public Yolk() { System.out.println(" ...
- Java构造方法的姿势与易错点
<Java基础复习>-类与对象&初始化 关于类和对象的基本理念,就不再赘述(如果你学习过还忘了,就是一种特殊的本领了),没有学习过的可以去搜索一下OOP或者类和对象,百科的知识就已 ...
- java 构造方法
class MyTestClass { public int Value; public boolean equals(MyTestClass obj){ return obj.Value ==thi ...
- java构造方法的不同
分为有参数和无参数,还有THIS的使用方法,可用于传递给类,也可用于调用其它构造方法. public class Book { private String name; public Book(){ ...
- Java构造方法、成员变量初始化以及静态成员变量初始化三者的先后顺序是什么样的?
[Java笔试真题]:构造方法.成员变量初始化以及静态成员变量初始化三者的先后顺序是什么样的? [解答]:当类第一次被加载的时候,静态变量会首先初始化,接着编译器会把实例变量初始化为默认值,然后执行构 ...
随机推荐
- Hibernate-缓存
Hibernate是一个持久层框架,经常访问物理数据库.为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能.缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在 ...
- note.js之 Nodejs+Express4在windows下的配置
本篇主要介绍一下在windows平台下采用nodejs+express4框架+Mongodb实现网站的开发.其实本人是不赞同在Windows平台下使用node.js进行开发,但由于公司后台工程师都是采 ...
- jQuery返回顶部代码组件
非原创,拿来修改,样式可自定义,div,img都可以,效果如下: 下载地址:http://files.cnblogs.com/files/EasonJim/jquery.topback.rar 项目相 ...
- TYVJ P1403 [NOIP2010]关押罪犯
TYVJ的编译器总是要搞点岔子出来,上次是double必须用f输出而不能用lf,这次又不知道为何CE 于是去了洛谷P1525测试,AC 题目描述 S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1 ...
- groovy-位运算
从Groovy 1.0 beta 10开始,Groovy支持位运算:<<. >>, >>>, |, &, ^, and ~. 下表列出了位运算的操作符 ...
- TypeError: 'module' object is not callable cp fromhttp://blog.csdn.net/huang9012/article/details/17417133
程序代码 class Person: #constructor def __init__(self,name,sex): self.Name = name ...
- HD1205吃糖果(鸽巢、抽屉原理)
吃糖果 Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submiss ...
- VirtualBox安装debian的详细方法步骤
下面是用VirtualBox安装Debian6的方法和步骤 l 新建一个文件夹,用于存放虚拟硬盘,如Debian l 打开VirtualBox,点击新建 l 输入虚拟机名称,Debian_6 l 给虚 ...
- 解决Surface Pro外接移动硬盘经常睡眠的问题
1. 打开注册表,找到下面的键 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\0012ee47-904 ...
- Clion = C/C++ 和 Python 共享的 IDE
Clion + Tdmgcc + Winpython(Python)