(11.13)Java小知识!
今天想要与大家分享一下有关于构造方法的知识!
构造方法的定义与作用
构造方法是一种特殊类型的方法。当一个对象被创建的时候,构造方法用来初始化对象,也就是说构造方法其实是一个名词而不是动词,像我刚刚开始接触的时候会把构造方法当成动词理解,就比较麻烦。构造方法和它所在类的名字相同,但构造方法没有返回值,因此不能再构造方法中使用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 返回值; } 修饰 ...
随机推荐
- Tarjan LCA
强连通 迷宫城堡 Proving Equivalences Equivalent Sets Summer Holiday Intelligence System The King's Problem ...
- HDU1201 水题
做多了年月日,现在基本就能水过了 18岁生日 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/O ...
- 使用dropload.js插件进行下拉刷新
移动端的下拉刷新是一个比较常见的功能了,网上也有很多框架,插件都有这种功能,所以直接拿来用就好了. html代码: <!--选项卡--><div class="tab&qu ...
- win10 uwp 模拟网页输入
有时候需要获得网页的 js 执行后的源代码,或者模拟网页输入,如点按钮输入文字. 如果需要实现,那么就需要用 WebView ,使用方法很简单. 首先创建一个 WebView ,接下来的所有输入都需要 ...
- 读Zepto源码之Form模块
Form 模块处理的是表单提交.表单提交包含两部分,一部分是格式化表单数据,另一部分是触发 submit 事件,提交表单. 读 Zepto 源码系列文章已经放到了github上,欢迎star: rea ...
- 【NOIP2015提高组】 Day1 T3 斗地主
[题目描述] 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来进行的扑克牌游戏.在斗地主中,牌的大小关系根据牌的数码表示如下:3<4& ...
- parameterType 和 resultType
parameterType #{} 和 ${} 1.#{}实现的是向prepareStatement中的预处理语句中设置参数值,sql语句中#{}表示一个占位符即?. 2.使用占位符#{}可以有效防止 ...
- 写一个类时什么时候需要重写toString
一般需要打印出来的时候需要重写toString方法 例如:User.java类 public class User { private String name; @Value(value=" ...
- svn 提交 working copy is not up-to-date
svn在提交时报错信息如下: working copy is not up-to-date svn:commit failed(details follow): svn:file "xxxx ...
- 使用Xmanager通过XDMCP连接远程Centos 7 (摘自xmanager官方博客)
Using Xmanager to connect to remote CentOS 7 via XDMCP Gnome in CentOS 7 tries to use local hardware ...