博客
关于我
Java基础_构造器
阅读量:779 次
发布时间:2019-03-24

本文共 1232 字,大约阅读时间需要 4 分钟。

构造器(Constructor)概述与实践指南

构造器是软件工程中的核心概念,广泛应用于对象的创建与初始化管理。本文将详细讲解构造器的核心原理、默认配置以及自定义实现方法,助力开发者充分掌握这一技术点。

1. 构造器的定义与特点

构造器是一种特殊的函数,用于类的对象创建。以下是构造器的核心特征:

  • new运算结合使用,必须具有对象创建作用
  • 默认情况下没有返回类型
  • 既不需要,也不建议使用return语句
  • 方法名与类名完全一致
  • 默认构造器的语法规范严格遵循编译器生成规则

2. 编译器生成的缺省构造器

Java编译器会自动为未定义构造器的类生成默认构造器。这个缺省构造器具有以下特点:

  • 方法签名为(无参数)
  • 既不声明public访问级别符
  • 执行super方法
  • 适用于Object

3. 构造器的作用

构造器在对象创建过程中发挥着关键作用,它的职责是:

职责一:对象创建

任何需要创建对象的new表达式都需要与构造器配合工作,这是构造器的基本用途。

职责二:对象初始化

通过构造器,可以执行一系列初始化操作,赋值字段、设置属性或执行初始化逻辑,确保对象进入正确状态

4. 自定义构造器的开发规范

开发者可以选择编写自定义构造器,以满足特定项目需求。以下是自定义构造器开发的注意事项:

示例:package HelloWorld; public class ConstructorExample { ConstructorExample(String param) { System.out.println("这是自定义构造器执行!"); } public static void main(String[] args) { new ConstructorExample("自定义参数"); }}

通过此示例可以看到,自定义构造器可以带有任意数量和类型的参数

5. 构造器的重载(Overloading)

构造器的重载允许同一类中定义多个构造器,区别在于参数类型和数量的不同。重载的判断依据为:

“一样”的条件有:

  • 方法名称完全一致
  • 属于同一个类

“不一样”的条件有:

  • 不同参数类型
  • 不同参数数量
  • 不同参数顺序

示例:

public class ConstructorOverloadExample {
ConstructorOverloadExample() {
System.out.println("无参构造器执行!");
}
ConstructorOverloadExample(String s) {
System.out.println("有参构造器执行:" + s);
}
public static void main(String[] args) {
new ConstructorOverloadExample();
new ConstructorOverloadExample("参数呈现");
}}

通过上述示例可以观察到不同构造器的调用方式

转载地址:http://knrkk.baihongyu.com/

你可能感兴趣的文章
paramiko模块
查看>>
param[:]=param-lr*param.grad/batch_size的理解
查看>>
spring mvc excludePathPatterns失效 如何解决spring拦截器失效 excludePathPatterns忽略失效 拦截器失效 spring免验证拦截器不起作用
查看>>
Spring Cloud 之注册中心 EurekaServerAutoConfiguration源码分析
查看>>
Parrot OS 6.2 重磅发布!推出全新 Docker 容器启动器
查看>>
Parrot OS 6.3 发布!全面提升安全性,新增先进工具,带来更高性能
查看>>
ParseChat应用源码ios版
查看>>
Part 2异常和错误
查看>>
Pascal Script
查看>>
Spring Boot集成Redis实现keyspace监听 | Spring Cloud 34
查看>>
Spring Boot中的自定义事件详解与实战
查看>>
Passport 密码模式
查看>>
Spring Boot(七十六):集成Redisson实现布隆过滤器(Bloom Filter)
查看>>
passwd命令限制用户密码到期时间
查看>>
Spring @Async执行异步方法的简单使用
查看>>
PAT (Basic Level) Practice 乙级1021-1030
查看>>
PAT (Basic Level) Practice 乙级1031-1040
查看>>
PAT (Basic Level) Practice 乙级1041-1045
查看>>
SparkSql的元数据
查看>>
PAT (Basic Level) Practice 乙级1051-1055
查看>>