今天想要与大家分享一下有关于构造方法的知识!
构造方法的定义与作用
构造方法是一种特殊类型的方法。当一个对象被创建的时候,构造方法用来初始化对象,也就是说构造方法其实是一个名词而不是动词,像我刚刚开始接触的时候会把构造方法当成动词理解,就比较麻烦。构造方法和它所在类的名字相同,但构造方法没有返回值,因此不能再构造方法中使用return语句返回一个值。
构造方法的语法格式如下:
[访问修饰符]<类名>([参数列表]){
构造方法的语句体
}
其中,修饰符可以为public,protect,private;参数列表为参数,可以是空的;构造方法的语句体也可以是空的。
构造方法在程序设计中非常有用,他可以为类的成员变量进行初始化。当一个类的实例对象刚产生时,这个类的构造方法就会被调用,可以在这个方法中加入要完成初始化工作的代码。无论是否自定义了构造方法,所有的类都有构造方法,因为Java自动提供了一个默认构造方法,这个默认构造方法没有参数,在其方法体中也没有任何的代码,它把所有成员初始化为0,除此之外什么都不做。然而一旦我们定义了自己的构造方法,默认构造方法就会失效。
以下是一个使用构造方法的例子:
//一个简单的构造方法
class Demo{
int x;
Demo(){//构造方法
x=1;
}
}
如何调用构造方法来初始化一个对象:
public class MyDemo{
public static void main (String args[]){
Demo a = new Demo();
Demo b = new Demo();
System.out.println(a.x+" "+b.x);
}
}//运行结构为 :1 1
以上的构造方法是无参构造方法,以下为大家编写一个有参数的构造方法:
class Demo {//一个简单的构造方法
int x;
Demo(int a){//有参数的构造方法
x=a;
}
}
有参构造方法的调用类似无参构造方法:
public class MyDemo{
public static void main (String args[]){
Demo a = new Demo(5);
Demo b = new Demo(10);
System.out.println(a.x+" "+b.x);
}
}//运行结果为:5 10
下面用一个比较具体的例子来为大家展示构造方法的使用:
class Employee{
private double employeeSalary = 2000;
public Employee() {//一个构造方法
System.out.print("该构造方法已被调用");
}
public void getSalary() {
System.out.println("职员的基本薪水为:"+employeeSalary);
}
public static class demo{
public static void main(String[] args){
Employee a1 = new Employee();
a1.getSalary();
Employee a2 = new Employee();
a2.getSalary();
}
}
}//运行结果为:构造方法被调用!职员的基本薪水为:2000.00
构造方法被调用!职员的基本薪水为:2000.00
通过我们上面列举的实例运行结果我们可以看出,每创建一个Employee对象,Employee()方法都会自动调用一次。这就是构造方法的作用与运行结果。
(11.13)Java小知识!的更多相关文章
-
(11.20)Java小知识!
经过一段时间的学习,我也终于来到了Java语言的核心篇,也就是对象与类的学习,今天想要和大家分享的是关于类的小知识点. 1.类的声明: 类可以看成创建Java对象的模板.类亦可以理解成Java一种 ...
-
(11.06)Java小知识
最近由于课程变化,学习计划也跟着改动,留给我写博客的时间也越来越少.今天晚上没有课,抽空过来图书馆写一写,许久不写感觉都有点陌生了! 今天要和大季家分享的衔接了上一篇博客,是关于方法的嵌套调用与递归调 ...
-
(11.28)Java小知识!
关于继承的继承机制:继承中最常使用的两个关键字是exteds和implements.今天主要和大家分享extends的知识点.这两个关键字的使用决定了一个对象和另一个对象是否是IS-A关系.同时我们还 ...
-
java小知识,驼峰规则
单词之间不以空格.连接号或者底线连结(例如不应写成:camel case.camel-case或camel_case形式).共有两种格式: 1.小驼峰式命名法(lower camel case): 第 ...
-
Java小知识----POI事件模式读取Excel 2007
一.知识背景 1.读取excel的方法选择问题 java中读excel中的时间,我们通常用POI去解析,在使用new HSSFWorkbook(NEW FileInputStream(excelFil ...
-
Java小知识--length,length(),size()方法详细介绍
Java中length,length(),size()区别 length属性:用于获取数组长度. eg: int ar[] = new int{1,2,3} /** * 数组用length属性取得长度 ...
-
JAVA小知识
eclipse是日蚀的意思,eclipse是IBM公司的,当年和SUN公司的java竞争,sun的意思是太阳,所以你明白了? Java的起名是 java(爪哇)咖啡,java原意是爪哇的意思,当初起名 ...
-
每天学点Java小知识【1】
一 Java标识符和关键字 1.标识符 作用:用来标识类名.变量名.方法名.类型名.数组名.文件名的有效字符序列. 组成规则:由字母.下划线.美元符号和数字组成,且第一个字符不能是数字字符.注意:标识 ...
-
(10.23)Java小知识!
---恢复内容开始--- 方法的定义: 一般情况下,定义一个方法包含以下语法: 修饰符 返回值类型 方法名 (参数类型 参数名 , ...){ ... 方法体 ... return 返回值; } 修饰 ...
随机推荐
-
[常见问题]Project facet Java versin 1.8 is not support.
发生这个问题的原因是我们的java编译环境(JDK版本),与tomcat运行环境(JDK或JRE版本)不一致导致的. 到eclipse的设置中找到compile项(或右键项目进入),看一下编译环境的J ...
-
Discuz 7.2 /faq.php SQL注入漏洞
测试方法: 提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负! Discuz 7.2 /faq.php SQL注入漏洞 http://www.xxx.com/faq.php?a ...
-
WordPress的SEO技术
原文:http://blog.wpjam.com/article/wordpress-seo/ 文章目录[隐藏] 内容为王 页面优化 标题 链接(URL) Meta 标签 语义化 H1 H2 H3 等 ...
-
HIbernate学习笔记(一) 了解hibernate并搭建环境建立第一个hello world程序
Hibernate是一个开放源代码的ORM(对象关系映射)框架,它对JDBC进行了轻量级的封装,Java程序员可以使用面向对象的编程思维来操纵数据库,它通过对象属性和数据库表字段之间的映射关系,将对象 ...
-
Adapter 适配器模式
将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作. 目标接口(Target):客户所期待的接口.目标可以是具体的或抽象的类,也可 ...
-
09_Mybatis开发Dao方法——mapper代理开发规范
一.开发规范 需要编写mapper.xml映射文件(本项目为userMapper.xml,类似于前面的user.xml). 编写mapper接口需要遵循一些开发规范,这样MyBatis可以自动生成ma ...
-
[转]Vim 复制粘贴探秘
Vim作为最好用的文本编辑器之一,使用vim来编文档,写代码实在是很惬意的事情.每当学会了vim的一个新功能,就会很大地提高工作效率.有人使用vim几十年,还没有完全掌握vim的功能,这也说明了vim ...
-
CentOS 下mysql 的安装
1.安装mysql服务器 yum -y install mysql-server 2.装入service启动服务 /etc/rc.d/init.d/mysqld start 3.设置mysql服务开机 ...
-
Java加密解密字符串
http://www.cnblogs.com/vwpolo/archive/2012/07/18/2597232.html Java加密解密字符串 旧文重发:http://www.blogjava ...
-
vue-cli新版 -- 记录
1.新版Vue CLI 项目天生支持 PostCSS.CSS Modules 和包含 Sass.Less.Stylus 在内的预处理器. 所以安装了less后者sass可以直接使用,不需要再像以前在w ...