Java中的构造方法(构造器)

定义

一个在创建对象时自动被调用的特殊方法

作用

为对象进行初始化(成员变量)工作,即初始化类对象的属性,而构造对象是通过new关键字

特征

构造器是一种特殊的方法

构造方法的名称必须跟类名保持一致

构造方法虽然有返回值(返回一个已经初始化好的对象),但是不能定义返回类型,返回值的类型肯定是本类类型,不能用关键字void,不能在构造器里调用return

构造方法在创建类对象的时候通过关键字new被调用

当我们没有写构造方法的时候,系统会默认给我们添加一个无参构造方法。但是只要我们给出了一个构造方法,系统就不会给出默认的无参构造方法,所以在写类的时候,一般建议自己手动加上无参构造方法。

和普通方法一样,构造方法也可以重载

我们来看看测试代码

public class Constructor {

// 给Constructor类定义了一个成员变量name

private String name;

// 无参构造方法,方法名必须跟类名一致,即首字母需要大写

public Constructor() {

System.out.println("调用无参数的构造方法。。");

}

// 带一个参数的构造方法

public Constructor(String name) {

// 通过this()调用无参构造方法

this();

this.name = name;

// 构造方法里可以调用普通方法

commonMethod();

}

public void commonMethod() {

System.out.println("调用普通方法");

}

// 写个主函数测试一下

public static void main(String[] args) {

// 通过无参构造创建一个Constructor对象

Constructor cons1 = new Constructor();

cons1.name = "我是通过无参构造器创建的对象";

System.out.println(cons1);

System.out.println("=====================我是分隔线=====================");

// 通过有参构造方法创建另一个对象

Constructor cons2 = new Constructor("我是通过有参构造方法创建的对象");

System.out.println(cons2);

}

@Override

public String toString() {

return this.getClass().getSimpleName() + "[我的名字是:" + name + "]";

}

}

我们来看看输出结果

java 生成构造方法_Java中的构造方法相关推荐

  1. java 匿名类 构造方法_Java中接口式的匿名内部类的构造方法

    在使用多线程的时候,时常会使用两种方式实现,一种是直接继承Thread类来实现多线程,另外一种就是实现Runnable接口. 我们都知道,接口是没有构造方法的,同时匿名内部类也是没有构造方法的.原因有 ...

  2. java构造方法怎么分辨_Java中的构造方法总结

    今天写代码突然发现Java的构造方法也有不少说法呢,闲来无事,总结一下: 构造方法和实例方法的区别: 一.主要的区别在于三个方面:修饰符.返回值.命名 1.和实例方法一样,构造器可以有任何访问的修饰符 ...

  3. java 重载赋值_java中构造方法,set/get方法,方法重载使用解读

    给对象赋值的方法: 1.对于public修饰的属性,对象可以在外部直接调用. 定义一个类class Poker{ public String num; private String number; p ...

  4. java构造方法 this_Java中的构造方法this、super的用法详解

    1.构造方法 定义:与类同名没有返回值的方法称为构造方法: public class test1 { private String name; private int age; public test ...

  5. java 反射 构造方法_Java反射之构造方法反射

    上一篇Java反射之Class类我们介绍了java反射的关键类Class, 反射就是由一个java类映射得到一个java类. 所以,我们自然能想到,一个类中应该有哪些属性,这里做个比方,人有名字年龄等 ...

  6. java怎么调用构造方法_java怎么调用构造方法

    Java调用构造方法,那就是子类调用基类(父类)的构造方法,如何调用,请看详细内容. 子类中的构造方法的规则 子类的构造过程中必须调用其基类的构造方法. 子类可以在自己的构造方法中使用super(ar ...

  7. java的无参构造方法_Java有参构造方法和无参构造方法

    1.定义: 编写一个类时没有添加无参构造方法,那么编译器会自动添加无参构造方法:(如果自己添加构造函数,无论有参数或是没参数,默认构造函数都将无效) 编写时添加了有参构造方法而未添加无参构造方法,那么 ...

  8. java类构造_Java中类的构造方法

    constructor:构造函数. 在创建对象的时候,对象成员可以由构造函数方法进行初始化. new对象时,都是用构造方法进行实例化的: 例如:Test test = new Test("a ...

  9. java 字符串总结_Java中字符串(String)总结

    先说说JDK API: JDK中包含大量的API类库,所谓API(Application Programming Interface,应用程序编程接口,这些功能以类的形式封装). JDK API包含的 ...

最新文章

  1. 容斥原理学习(Hdu 4135,Hdu 1796)
  2. C++网络编程(一)
  3. python程序员招聘信息-IT行业程序员招聘分析
  4. 蓝桥杯java第四届决赛第一题--猜灯谜
  5. python日志模块的封装
  6. Eclipse把默认为Gbk的编码变为UTF-8
  7. jqueryd登录异步请求 java,ajaxd的js和jquery实现
  8. html 弹出一个邮件连接,mailto scheme 高级用法, 显示带html样式的邮件文本
  9. Oracle和SQL server的数据类型比较
  10. Python升级后pip命令失效解决方法
  11. 练习27——IO流的所有用法(二)
  12. mysql数据库 with as用法
  13. OJ 2309 Problem C Lemon
  14. Longhorn 云原生容器分布式存储 - Air Gap 安装
  15. CUDA out of memory. Tried to allocate 150.00 MiB (GPU 0; 4.00 GiB total capacity; 2.24 GiB already a
  16. 网页制作-第一周-任务1_1网页和网站的概念
  17. 小米设备跨版本降级后相机打不开陀螺仪无法工作解决办法
  18. 加快MATLAB运行速度的三个方法
  19. 新年将至, 程序员如何以代码送出新春祝福
  20. 前端如何调用微信授权登录

热门文章

  1. 2020-09-03
  2. python创建数组类_python创建数组
  3. Python语言-NL-工作日的努力
  4. Python:pycharm中 虚拟环境 venv简介及实践
  5. 用python玩转微信小游戏 大小猜猜看
  6. vscode一键删除所有注释
  7. 关于宏碁电脑出现0xc000007b无法正常启动 蓝屏 解决方法
  8. 巧用转置功能粘贴数据
  9. 怎么得到网上很难找的资源的歌曲音频
  10. ASO提升App Store排名的8个技巧