IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> java的构造器详解 -> 正文阅读

[Java知识库]java的构造器详解

构造器详解

1.什么是构造器

  • 类中的构造器也称构造方法,是在进行创建对象的时候必须要调用的,并且构造器有以下两个特点。
    • 必须和类的名字相同
    • 必须没有返回类型,也不能写void。
  1. 我们同样建立两个文档一个命名person ,另一个命名application.

我们简单创建一个类

public class person {

}

另一个文件使用new来调用这个person。

public class application {
    public static void main(String[] args) {
//使用new关键字实例化了一个对象。
        person person = new person();
    }
}

然后运行第二个文件,发现仍然可以正常运行,但我们之前学的是在第一个文件person中,必须有一个方法才能在另一个文件中new,然而我写的第一个文件里面,没有写方法,也就是说在这个person类中有一个隐藏的方法。

  1. 那我们打开这个person的class文件,就会发现这个class文件的代码就是这个样子的。
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

public class person {
    public person() {      //我们在原文件中并没有写这个方法,但是在class里面有这个东西
                           //该方法没有返回值。
    }
}

也就是说一个类即使什么也不写,他也会存在一个方法(构造方法//构造器),这个方法就是构造方法。

可以看出构造器的两个特点:1.必须和类的名字相同 2.必须没有返回类型,也不能写void.

2.写一个构造器

刚才咱们的构造器是默认生成的,咱们可以显示的定义构造器.

ublic class person {
public person(){
    //与类名相同,并且没有返回值,也没有写void.无参构造,没有参数的构造器.
  }
}

3.无参构造器能干什么

  1. 构造器可以实例化一些初始值.例如下图
public class person {
String name;
public person(){

   }
}
public class application {
    public static void main(String[] args) {
//使用new关键字实例化了一个对象。
        person person = new person();
        System.out.println(person.name);

    }
}
===============================================
    输出结果如下:
null

他的第一个作用就是实例化一些初始值.

如果我把第一个文件里面改一下.

public class person {
String name;
public person(){
this.name="gao"
   }
}
===========================
    那么在运行第二个文件的时候,他的结果就是:
   gao
  1. 使用new关键字,本质就是在调用构造器.

4.有参构造和无参构造

  • 无参构造和有参构造如下
public class person {
String name;
//无参构造
public person(){
this.name="gao";
}
//有参构造
    public person(String name){
    this.name=name;
    }
}

  1. 有参构造:一旦有了有参构造的时候,无参构造必须显示定义.咱们运行一下子.
public class person {
String name;
//此时的无参构造没有显示定义.
//有参构造
    public person(String name){
    this.name=name;
    }
}

public class application {
    public static void main(String[] args) {
//使用new关键字实例化了一个对象。
        person person = new person();//运行后,他会在这报错.
        System.out.println(person.name);

    }
}

他报错的内容是无法将类(文件的地址)中的构造器person应用到指定类型.

也就是说.你还想继续运行这个程序的话,你必须在类person中显示定义无参构造,代码如下即可.

public class person {
String name;
//无参构造
public person(){
this.name="gao";
}
//有参构造
    public person(String name){  //String name中的name是形参.需要一个实参传递给他一个东西.
    this.name=name;
    }
}
  1. 咱们若想让主程序走类person中的有参构造,在new person();的括号中添加: “内容” 即可,代码如下
public class application {
    public static void main(String[] args) {
//使用new关键字实例化了一个对象。
        person 内容 = new person("内容"); //这样他就会走有参构造的方法.
        System.out.println(person.name);
    }
}
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-12-08 13:41:02  更:2021-12-08 13:42:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:18:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码