类布局——构造方法

打印 上一主题 下一主题

主题 1739|帖子 1739|积分 5217

构造方法(Constructor)是Java编程语言中的一个紧张概念,用于初始化新创建的对象。在对象实例化时被调用,并负责设置对象的初始状态。
构造方法的根本特性

名称:构造方法的名字必须与类名完全相同。
返回范例:构造方法没有返回范例声明,连void也不答应利用。
参数列表:可以定义带参或不带参的构造方法。带参构造方法可以在对象创建时接收参数,以便初始化对象的状态。
访问修饰符:构造方法可以有public、protected、默认(包级私有)或private等访问级别。
默认构造方法

1、假如一个类中没有显式定义任何构造方法,Java编译器会自动提供一个无参的默认构造方法。
2、一旦定义了至少一个构造方法,编译器将不再提供默认构造方法,因此假如仍旧需要无参构造方法,则必须显式定义。
构造方法重载

在同一个类中,可以定义多个构造方法,只要它们的参数列表差别(参数的数量、范例或次序),这就是构造方法的重载。
这种灵活性使得程序员可以根据差别的需求以差别的方式初始化对象。
  1. public class ClassStructure {
  2.     private String name;
  3.     private int age;
  4.     //构造方法
  5.     //无参构造方法
  6.     public ClassStructure() {
  7.     }
  8.     //全参构造方法
  9.     public ClassStructure(String name, int age) {
  10.         this.name = name;
  11.         this.age = age;
  12.     }
  13.     //含参构造方法
  14.     public ClassStructure(String name) {
  15.         this.name = name;
  16.     }
  17. }
复制代码
测试一下
  1. public class Main {
  2.     public static void main(String[] args) {
  3.         // 1. 创建一个名为 "ClassStructure" 的类,该类具有私有成员变量 "name" 和 "age",以及一个私有化无参构造方法。
  4.         for (int i = 0; i < 10; i++) {
  5.             new Thread(() -> {
  6.                 ClassStructure classStructure =
  7.                                                 ClassStructure.getClassStructure("测试");
  8.                 System.out.println(classStructure);
  9.             }).start();
  10.         }
  11.     }
  12. }
复制代码
测试效果

利用this关键字

this关键字用于引用当前对象实例,可以在构造方法内部利用来区分成员变量和局部变量。
可以通过this()调用同一个类中的其他构造方法,这被称为构造方法链。这种调用必须是构造方法的第一条语句。
私有构造方法

类可以拥有私有的构造方法。
不能通过new关键字从类的外部创建此类的实例。
私有构造方法常用于实现单例模式,即确保一个类只有一个实例,并提供一个全局访问点来获取这个唯一的实例。
  1. public class ClassStructure {
  2.     private String name;
  3.     private int age;
  4.     //私有化无参构造方法
  5.     private ClassStructure(String name) {
  6.         this.name = name;
  7.     }
  8.     //定义返回对象
  9.     private static ClassStructure classStructure ;
  10.     // 提供全局访问点来获取唯一的对象实例
  11.     public static synchronized ClassStructure getClassStructure(String name) {
  12.         if (classStructure == null) {
  13.             classStructure = new ClassStructure(name);
  14.         }
  15.         return classStructure;
  16.     }
  17.     public String getName() {
  18.         return name;
  19.     }
  20. }
复制代码
总结

构造方法是Java中用于初始化新创建对象的特殊方法,方法名称必须与类名相同且不声明任何返回范例。
用于程序员在对象实例化时设置初始状态,确保每个对象从一开始就处于有效和一致的状态。
构造方法可以带有参数,以顺应差别的初始化需求,并支持重载,即一个类可以拥有多个构造方法,只要它们的参数列表差别。
通过this关键字,可以在构造方法内部引用当前对象实例,或者调用同一个类中的其他构造方法,实现构造方法链。
Java编译器会为没有显式定义构造方法的类提供一个无参的默认构造方法;
一旦定义了至少一个构造方法,这个默认构造方法就不再自动生成。
构造方法还可以利用差别的访问修饰符来控制谁能实例化该类的对象,乃至可以通过私有构造方法限制外部直接实例化,这在实现单例模式等计划模式时非常有用。
W总之,构造方法是面向对象编程的紧张构成部门,对于编写结实、灵活且易于维护的Java应用程序至关紧张。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

千千梦丶琪

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表