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修饰符 ...
随机推荐
- Adam那么棒,为什么还对SGD念念不忘 (1) —— 一个框架看懂优化算法
机器学习界有一群炼丹师,他们每天的日常是: 拿来药材(数据),架起八卦炉(模型),点着六味真火(优化算法),就摇着蒲扇等着丹药出炉了. 不过,当过厨子的都知道,同样的食材,同样的菜谱,但火候不一样了, ...
- 洛谷P1449 后缀表达式 题解 栈
题目链接:https://www.luogu.org/problem/P1449 这道题目我们只需要开一个栈,每次读取到一个数的话就将这个数 push 进栈. 因为提供给我们的时候已经是一个后续序列了 ...
- vue调用兄弟组件的方法使用vueBus调用$emit、$on(只需触发方法即可,不需要考虑传值或参数的问题)
触发方: vueBus.$emit('queryAll') 被触发方: created() { vueBus.$on('queryAll', () => { this.getList() // ...
- Mockito 使用
1. 算术测试类 package com.smart.test.mockito; public interface Calculator { public int add(int a, int b); ...
- P1088 上台阶
题目描述 楼梯有 \(n(1 \le n \le 50)\) 阶台阶,上楼时可以一步上 \(1\) 阶,也可以一步上 \(2\) 阶,也可以一步上 \(3\) 阶,编程计算共有多少种不同的走法. 输入 ...
- P1087 N个数的最大公约数
题目描述 今天灵灵学习了使用欧几里得算法(即:辗转相除法)求解两个数的最大公约数.于是他决定用这个方法求解 \(N\) 个数的最大公约数. 输入格式 输入的第一行包含一个整数 \(N(1 \le N ...
- 2018-2-13-win10-uwp-隐藏实时可视化
title author date CreateTime categories win10 uwp 隐藏实时可视化 lindexi 2018-2-13 17:23:3 +0800 2018-2-13 ...
- 如何在centos 7.4 上安装 python 3.6
yum -y install https://centos7.iuscommunity.org/ius-release.rpmyum -y install python36uyum -y instal ...
- Linux 内核类设备
一个类的真正目的是作为一个是该类成员的设备的容器. 一个成员由 struct class_device 来表示: struct class_device { struct kobject kobj; ...
- Linux 内核同步 urb
不幸的是, 同步 urb 没有一个象中断, 控制, 和块 urb 的初始化函数. 因此它们必须在 驱动中"手动"初始化, 在它们可被提交给 USB 核心之前. 下面是一个如何正确初 ...