当前位置: 首页 > news >正文

Java构造器

构造器

    • 无参构造器
    • 有参构造器
    • 构造方法VS成员方法
    • 总结

概念:也称构造方法、构造函数。作用是构造出来一个类的实例,确保对象得到初始化。

格式: 权限修饰符 类名(无参/有参){ }。

分类:

  • 带参数:有参构造器
  • 不带参数:无参构造器

无参构造器

一个无参构造器就是不含参数的构造器,用来创建一个"默认的对象"。如果创建一个类,类中没有构造器,那么编译器就会自动为你创建一个无参构造器。

代码实现:

public class Test01 {public static void main(String[] args) {Person p = new Person();System.out.println(p.name);System.out.println(p.sex);System.out.println(p.age);p.eat();p.sleep();}
}class Person{//属性String name;char sex;int age;//构造方法 -- 无参构造public Person(){System.out.println("Person的无参构造");this.name = "彭于晏";this.sex = '男';this.age = 43;}//成员方法public void eat(){System.out.println(this.name + "吃饭饭");}public void sleep(){System.out.println(this.name + "睡觉觉");}//静态方法public static void method(){System.out.println("静态方法");}}

有参构造器

有参构造器是指在创建对象时需要提供参数的构造器。通过有参构造器,我们可以在创建对象时传递参数,并使用这些参数来初始化对象的属性。有参构造器可以根据需要接收任意数量和类型的参数,以满足不同的需求。

代码实现:

public class Test01 {public static void main(String[] args) {Person p = new Person("彭于晏", '男', 43);System.out.println(p.name);System.out.println(p.sex);System.out.println(p.age);p.eat();p.sleep();}
}
class Person{//属性String name;char sex;int age;//构造方法 -- 有参构造public Person(String name,char sex,int age){this.name = name;this.sex = sex;this.age = age;}//成员方法public void eat(){System.out.println(this.name + "吃饭饭");}public void sleep(){System.out.println(this.name + "睡觉觉");}//静态方法public static void method(){System.out.println("静态方法");}
}

构造方法VS成员方法

  1. 格式区别

​ 构造方法和类名相同,并且没有返回类型,也没有返回值。
​ 普通成员方法可以任意起名,必须有返回类型,可以没有返回值。

  1. 作用区别

    构造方法用于创建对象,并进行初始化。
    普通成员方法是用于完成特定功能的代码块。

  2. 调用区别

    构造方法是在创建对象时被调用的,一个对象建立,只调用一次相应构造函数。
    普通成员方法是由创建好的对象调用,可以调用多次

总结

1.构造器必须与类同名

2.每个类可以有一个以上的构造器

3.构造器的参数个数大于等于0个

4.构造器没有返回项

5.构造器总是伴随着new操作一起调用

http://www.lryc.cn/news/342104.html

相关文章:

  • TiDB系列之:使用TiUP部署TiDB集群最新版本,同时部署TiCDC的详细步骤
  • 【经典算法】LeetCode 72. 编辑距离(Java/C/Python3/Go实现含注释说明,中等)
  • webstorm 常用插件
  • clang:在 Win10 上编译 MIDI 音乐程序(二)
  • 【redis】Redis数据类型(三)List类型
  • Java面试题:多线程2
  • T型槽地轨承载力是如何连接整个制造过程的强力桥梁(北重公司设计)
  • 【Numpy】一文向您详细介绍 np.linspace()
  • VMware虚拟网卡网络适配器出现黄色感叹号
  • 论生命价值
  • 基于Springboot的民航网上订票系统(有报告)。Javaee项目,springboot项目。
  • ubuntu开启message文件
  • ISIS的基本概念
  • Vue 工程化开发入门
  • 车牌号识别系统:PyQT5+QT Designe+crnn/PaddleOCR+YOLO+OpenCV矫正算法。
  • 【基于MAX98357的Minimax(百度)长文本语音合成TTS 接入教程】
  • 秋招后端开发面试题 - JVM底层原理
  • VUE2从入门到精通(一)
  • cmake进阶:文件操作之写文件
  • ubuntu 安装单节点HBase
  • HTTP 多个版本
  • 【DevOps】探索Linux命令行世界:深入了解Shell的力量
  • 互斥量的使用
  • 关于面试真题的压迫
  • 1700java进销存管理系统Myeclipse开发sqlserver数据库web结构java编程计算机网页项目
  • mysql数据库(排序与分页)
  • Android 实时监听Activity堆栈变化(系统应用)
  • 双目深度估计原理立体视觉
  • Redis探索之旅(基础)
  • C语言/数据结构——每日一题(链表的中间节点)