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修饰符 ...
随机推荐
- Java反射机制(二):通过反射取得类的结构
在反射运用过程中,如果你想得到一个类的完整结构,那么就要使用到java.lang.reflect包中的几个类: · Constructor 表示类中的构造方法 · Field 表示类中的属性 · ...
- 洛谷P2486 [SDOI2011]染色 题解 树链剖分+线段树
题目链接:https://www.luogu.org/problem/P2486 首先这是一道树链剖分+线段树的题. 线段树部分和 codedecision P1112 区间连续段 一模一样,所以我们 ...
- Codeforces Round #196 (Div. 1 + Div. 2)
A. Puzzles 对\(f[]\)排序,取连续的\(m\)个. B. Routine Problem 考虑\(\frac{a}{b}\)和\(\frac{c}{d}\)的大小关系,适配后就是分数的 ...
- Spring security用户URL权限之FilterSecurityInterceptor
总: 用户通过浏览器发送URL地址,由FilterSecurityInterceptor判断是否具有相应的访问权限. 对于用户请求的方法权限,例如注解@PreAuthorize("hasRo ...
- VisualStudio 使用多个环境进行调试
在 VisualStudio 2017 支持使用 launchSettings.json 文件定义多个不同的环境进行调试 先给大家一张图看一下效果 可以看到原来的是启动的按钮,现在被我修改为 lind ...
- H3C 入站包过滤工作流程
- UVA 1347"Tour"(经典DP)
传送门 参考资料: [1]:紫书 题意: 欧几里得距离???? 题解: AC代码: #include<bits/stdc++.h> using namespace std; ; int n ...
- H3C DNS域名解析原理
- NetBIOS 计算机名称命名限制
本文告诉大家对于 NetBIOS 的命名的限制 长度限制 最小长度是 1 最长长度是 15 因为默认是 16 字符,但是微软使用最后一个字符作为后缀 可以使用的字符 可以使用英文和数字 abcdefg ...
- ZR并查集专题
ZR并查集专题 并查集,作为一个基础算法,对于初学者来说,下面的代码是维护连通性的利器 return fa[x] == x ? x : fa[x] = getf(fa[x]); 所以,但是这对并查集的 ...