Java类成员之构造器
构造器含义:
是指使得JVM在构造对象的时候,帮助进行成员变量的初始化的方法。
构造器(构造方法)格式:
1.对于构造方法而言,方法的名称是固定的,和类名相同。
2.对于构造方法而言,它没有返回值,而且甚至没有方法定义时的返回值类型。
3. 对于一个普通类而言,如果我们没有在类定义中添加任何构造方法,
JVM主动帮我们在类定义中添加一个默认构造方法。
语法格式:
修饰符 类名(参数列表){
初始化语句;
}
构造器特征:
1.它具有与类相同的名称。
2.它不声明返回值类型,与声明为void不同。
3.不能被static、final、 synchronized、 abstract、 native修饰。
4.不能有return语句返回值。
构造器作用:
1.创建对象,给对象进行初始化。
2.例如 Order x = new Order(); Person y = new Person("Peter",15);
构造器分类:
1.隐式无参构造器(系统默认提供)。
2.显式定义-一个或多个构造器(无参、有参)。
注意事项:
1.在Java语言中, 每个类都至少有一个构造器。
2.默认构造器的修饰符与所属类的修饰符一致。
3.一旦显式定义了构造器,则系统不再提供默认构造器。
4.一个类可以创建多个重载的构造器。
5.父类的构造器不可被子类继承。
构造器重载:
1.构造器一般用来创建对象的同时初始化对象。
2.构造器重载使得对象的创建更加灵活,方便创建各种不同的对象。
public class ContructorDemo { public static void main(String[] args) { int intValue = 10; MyClass myClass = new MyClass(intValue); System.out.println(myClass.a); //构造方法的重载 intValue = 100; String name = "张三"; String school = "MIT"; myClass = new MyClass(intValue, name, school); System.out.println(myClass.a); System.out.println(myClass.name); System.out.println(myClass.school); } } class MyClass { int a; String name; String school; //通过构造方法,让JVM帮助完成成员变量的初始化 public MyClass (int intValue) { a = intValue; } public MyClass (int intValue, String str) { a = intValue; name = str; } public MyClass (int intValue, String str, String s) { a = intValue; name = str; school = s; } }
Java类成员之构造器的更多相关文章
- Java 类成员的初始化顺序
Java 类成员的初始化顺序 前言:开发中碰到一个Java文件中有很多的成员变量,包括静态和非静态的,还有很多的初始化方法,很好奇这些成员的初始化顺序,在这里作个研究. 1 无继承情况下的Jav ...
- java类成员变量与代码块初始化
首先根据下面的这个一段代码:引入关于java初始化顺序的问题public class InitationTest extends Person { public InitationTest() { S ...
- Java类成员之内部类
内部类含义: 在Java中允许一个类的定义位于另一个类的内部,前者称为内部类,后者称为外部类. Inner class 一般用在定义它的类或语句块之内,在外部引用它时必须给出完整的名称. Inner ...
- 【转】Java类成员变量默认初始化规则
一个变量作为类成员使用的时候,如果没有被初始化,java会为其分配默认值: -------------------------------------------------------------- ...
- Java类成员访问控制权限
类成员访问控制权限 在JAVA中有四种访问控制权限,分别为:private, default, protected, public 1.Private 如果一个成员方法或变量名前使用了private, ...
- Java类成员访问级别
类可以是public或default(或包级别).在本教程中主要介绍 public,private,protected 这几个访问级别修辞符的使用.类成员的访问级别确定程序的哪个区域可以访问它. 以下 ...
- java类成员的默认可访问性是什么?你猜
先看下面TestModel: import org.apache.commons.collections4.BidiMap; import org.apache.commons.collections ...
- Java类成员(成员变量和方法)的覆盖与隐藏归纳
以前就知道重写override和重载overload的区别,平时也是逮着用就是了,Eclipse报错再说. 最近看一本书里面出现了重写.替换.覆盖.置换.隐藏.重载,简直乱得不行,归纳整理一下. 从全 ...
- Java类成员之代码块
代码块含义:使用{ }括起来的代码 代码块类型: 1.局部代码块:定义在方法体中. 2.构造代码块:也叫初始化代码块,定义在类中方法体之外. 3.静态代码块:定义在类中方法体之外,被static修饰符 ...
随机推荐
- Python--day19--time模块
时间戳转化成结构化时间: 本地时间转换成时间字符串: 时间模块 和时间有关系的我们就要用到时间模块.在使用模块之前,应该首先导入这个模块. #常用方法 1.time.sleep(secs) (线程)推 ...
- springboot中使用spring-session实现共享会话到redis(二)
上篇文章介绍了springboot中集成spring-session实现了将session分布式存到redis中.这篇在深入介绍一些spring-session的细节. 1.session超时: 在t ...
- [学习笔记]k短路
A*:我已经忘了怎么写了,反正n=30,m=1000都能卡掉... 正解:可持久化左偏树+堆维护可能集合 原论文:http://www.docin.com/p-1387370338.html 概括: ...
- The bind() Method
The bind() method was added in ESMAScript 5, but it is easy to simulate in ESMAScrpt 3. As its name ...
- linux ioctl 系统调用预定义的命令
尽管 ioctl 系统调用最常用来作用于设备, 内核能识别几个命令. 注意这些命令, 当用 到你的设备时, 在你自己的文件操作被调用之前被解码. 因此, 如果你选择相同的号给一 个你的 ioctl 命 ...
- iview+vue查询分页实现
本文为实战坑记录 子组件(共用的搜索组件) <template> <div> <h2>{{pdbTitle}}</h2> <Form ref=&q ...
- eslint在webstorm中有错误警告
1. 报错Missing space before function parentheses的问题 解决:在代码目录中,打开.eslint文件,并在rules中添加如下一行代码即可: "sp ...
- CF1220
CF1220 A one和zero特的字母分别是'n'和'z' 输出他们的数量即可 #include<cstdio> #include<iostream> #include&l ...
- 消息驱动Bean
消息驱动bean是专门用来处理基于消息请求的组件.MDB负责处理消息,而EJB容器则负责处理服务(事务,安全,并发,消息确认等),使Bean的开发者集中精力在处理消息的业务逻辑上. 消息驱动Bean. ...
- Vue+node.js实现一个简洁的个人博客系统
本项目是一个用vue和node以及mysql实现的一个简单的个人博客系统,整体逻辑比较简单.但是可以我们完整的了解一个项目从数据库到后端到前端的实现过程,适合不太懂这一块的朋友们拿来练手. 本项目所用 ...