构造器含义:

是指使得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. laravel在终端中查看日志的方法

    php artisan tail  --path=/Users/henryj/workspace_php/makerlab/app/storage/logs/laravel-2015-04-22.lo ...

  2. git提交空目录的方法

    大家有时候希望从git仓库中拉取代码时目录就已经存在了,不需要再手动创建,但是git并不允许git提交空目录,应该怎么办呢?这篇文章通过可能遇到的两个情况来分别介绍如何解决,有需要的朋友们可以参考借鉴 ...

  3. CentOS7在防火墙与端口上的操作

    https://jingyan.baidu.com/article/cdddd41cb3bf6c53cb00e1ac.html CentOS7在安装软件包或类库的时候,常常会因为防火墙的拦截和端口未开 ...

  4. 2018-7-31-C#-判断两条直线距离

    title author date CreateTime categories C# 判断两条直线距离 lindexi 2018-07-31 14:38:13 +0800 2018-05-08 10: ...

  5. 【9103】求n的累加和

    Time Limit: 10 second Memory Limit: 2 MB 问题描述 用高精度方法,求s=1+2+3+...+n的精确值(n以一般整数输入) Input 文件输入仅一行,输入n ...

  6. 解决从旧格式的 csproj 迁移到新格式的 csproj 格式 AssemblyInfo 文件值重复问题

    现在很多小伙伴开始使用了 dotnet core 项目,但是如果是从以前的 dotnet framework 的项目修改为 dotnet core 项目格式,会发现编译的时候出现了 AssemblyI ...

  7. Linux 内核 NuBus 总线

    另一个有趣的, 但是几乎被忘记的, 接口总线是 NuBus. 它被发现于老的 Mac 计算机(那 些有 M68K CPU 家族的). 所有的这个总线是内存映射的(象 M68K 的所有东西), 并且设备 ...

  8. Javascript中数组方法reduce的妙用之处

    Javascript数组方法中,相比map.filter.forEach等常用的迭代方法,reduce常常被我们所忽略,今天一起来探究一下reduce在我们实战开发当中,能有哪些妙用之处,下面从red ...

  9. lumen简单使用exel组件

    1.首先打开命令行,进入到lumen项目的根目录中,然后用composer下载excel组件 composer require maatwebsite/excel ~2.1.0 2.安装成功后,在bo ...

  10. .Net Core 3.0 发布为单独的可执行文件

    dotnet publish -r win-x64 -c Release /p:PublishSingleFile=true /p:PublishTrimmed=true