构造器含义:

是指使得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类成员之构造器的更多相关文章

  1. Java 类成员的初始化顺序

    Java 类成员的初始化顺序 前言:开发中碰到一个Java文件中有很多的成员变量,包括静态和非静态的,还有很多的初始化方法,很好奇这些成员的初始化顺序,在这里作个研究.   1  无继承情况下的Jav ...

  2. java类成员变量与代码块初始化

    首先根据下面的这个一段代码:引入关于java初始化顺序的问题public class InitationTest extends Person { public InitationTest() { S ...

  3. Java类成员之内部类

    内部类含义: 在Java中允许一个类的定义位于另一个类的内部,前者称为内部类,后者称为外部类. Inner class 一般用在定义它的类或语句块之内,在外部引用它时必须给出完整的名称. Inner ...

  4. 【转】Java类成员变量默认初始化规则

    一个变量作为类成员使用的时候,如果没有被初始化,java会为其分配默认值: -------------------------------------------------------------- ...

  5. Java类成员访问控制权限

    类成员访问控制权限 在JAVA中有四种访问控制权限,分别为:private, default, protected, public 1.Private 如果一个成员方法或变量名前使用了private, ...

  6. Java类成员访问级别

    类可以是public或default(或包级别).在本教程中主要介绍 public,private,protected 这几个访问级别修辞符的使用.类成员的访问级别确定程序的哪个区域可以访问它. 以下 ...

  7. java类成员的默认可访问性是什么?你猜

    先看下面TestModel: import org.apache.commons.collections4.BidiMap; import org.apache.commons.collections ...

  8. Java类成员(成员变量和方法)的覆盖与隐藏归纳

    以前就知道重写override和重载overload的区别,平时也是逮着用就是了,Eclipse报错再说. 最近看一本书里面出现了重写.替换.覆盖.置换.隐藏.重载,简直乱得不行,归纳整理一下. 从全 ...

  9. Java类成员之代码块

    代码块含义:使用{ }括起来的代码 代码块类型: 1.局部代码块:定义在方法体中. 2.构造代码块:也叫初始化代码块,定义在类中方法体之外. 3.静态代码块:定义在类中方法体之外,被static修饰符 ...

随机推荐

  1. 智课雅思词汇---九、mon是什么意思

    智课雅思词汇---九.mon是什么意思 一.总结 一句话总结:词根:mon(min) = to warn, to advise, to remind 1.mit是什么意思? 词根:-mitt-, -m ...

  2. css模仿ipad的日历

    https://www.cnblogs.com/sandraryan/ 题外话之:最近的练习用js之类的写起来会简单点,但是为了巩固基础,只好html和css硬怼页面X﹏X 这是一个日历的代码 注释有 ...

  3. netstat 显示当前网络连接的统计信息

    C:\Users\Administrator\Desktop\hsqldb-2.3.2\data>netstat -h Displays protocol statistics and curr ...

  4. java 内存操作流

    操作内存流的时候(从读取出来,注意一定要把真正的数据用toByteArray或者toCharArray将数据读出来) 之前的文件操作流是以文件的输入输出为主的,当输出的位置变成了内存,那么就称为内存操 ...

  5. 一图理解vue生命周期

    博客园上传图不太清晰,可以查看我的CSDN https://blog.csdn.net/jiaoshuaiai/article/details/90046736 感谢: https://segment ...

  6. TOJ 6121: 学长的情书 ( 二分)

    传送门: 点我 6121: 学长的情书  时间限制(普通/Java):2000MS/6000MS     内存限制:65536KByte总提交: 79            测试通过:2 描述 抹布收 ...

  7. 将 using namespace 写在函数体中,以避免命名空间冲突

    将 using namespace xxx 写在函数体中时, 命名空间 xxx 中定义的资源只在该函数体中有效. 测试代码如下图所示(namespace std 只在函数 testFun2 中有效):

  8. POJ 2976 Dropping tests [二分]

    1.题意:同poj3111,给出一组N个有价值a,重量b的物品,问去除K个之后,剩下的物品的平均值最大能取到多少? 2.分析:二分平均值,注意是去除K个,也就是选取N-K个 3.代码: # inclu ...

  9. Spring+dubbo错误(二)

    ERROR [TestContextManager.java:231] Caught exception while allowing TestExecutionListener [org.sprin ...

  10. 【他山之石】mysql编码问题总结

    有些问题可能比较基础,但是没有经过系统学习还是可能会出错,记录下. 这次是mysql的编码问题. 背景是部署新的测试环境,给了一台服务器还有在另一个环境下的mysql,配置过程中发现mysql编码有问 ...