java构造器 默认构造方法及参数化构造方法

目录
  • 1、构造器
    • 1.1 权限修饰符是public
    • 1.2 显示定义构造器

1、构造器

构造器也叫构造方法、构造函数,是一种特殊类型的方法,负责类中成员变量(域)的初始化。构造器的用处是在创建对象时执行初始化,当创建一个对象时,系统会为这个对象的实例进行默认的初始化。

有两种类型的构造方法:

  • 1、默认构造方法(无参数构造方法)
  • 2、参数化构造方法

1.1 权限修饰符是public

权限修饰符是public,表示内部属性能被其他类访问到。

java默认的构造方法是无参的。

Java编译器会自动创建无参构造函数,因此在类中,无参构造即使没有,我们也可省略不写。实例化对象时无需赋值

新建一个Person类,再用new实例化person对象。运行后会生成一个Person.class对象。

public class Demo02 {
    public static void main(String[] args) {
        //new 实例化一个对象
        //一个类就算什么也不写,也存在一个方法,且方法名与类名相同。
        Person p=new Person();创建对象,括号内无需赋值,没赋值的情况下,字符类型默认值为null,数值类型默认值为0
    }
}

public class Person {

}

若类中什么也不写,运行之后,默认多一个Person()方法,下面是Person.class的代码:

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//

package Demo01;

public class Person {
    public Person() {
    }
}

故:一个类就算什么也不写,他也会存在一个默认的方法

参数化构造方法:

  • 参数化构造方法用于为不同对象提供不同初始化的值。
  • 倘若类中已存在有参构造函数,则编译器不再提供默认无参构造。实例化对象时需赋值,不然报错

1.2 显示定义构造器

package Demo01;

public class Demo02 {
    public static void main(String[] args) {
        //new 实例化一个对象
        //一个类就算什么也不写,也存在一个方法,且方法名与类名相同。
        Person p=new Person();
        System.out.println(p.name);//null
    }
}
package Demo01;

public class Person {
    String name;
    //实例化初始值
    //1、使用new关键字,本质实在构造器
    //2、用来初始化值
    public Person(){//默认构造器
        this.name="xiaoming";
    }

    //有参构造:一旦定义了有参构造,无参构造就必须显示定义,否则无效,也是重载
    public Person(String name){
        this.name=name;
    }

    //快捷键: alt + insert     生成构造器,自动生成构造器,有参无参可自行选择。
}

总结:

构造器:

  • 1、和类名相同
  • 2、没有返回值

作用:

  • 1、new 本质在调用构造方法
  • 2、初始化对象的值

注意:定义构造之后,如果想使用无参构造,显示的定义一个无参构造,否则不能使用无参的构造方法ALT + INSERT 生成构造器

到此这篇关于java构造器 默认构造方法及参数化构造方法的文章就介绍到这了,更多相关java构造器 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 一文带你掌握Java8中Lambda表达式 函数式接口及方法构造器数组的引用

    目录 函数式接口概述 函数式接口示例 1.Runnable接口 2.自定义函数式接口 3.作为参数传递 Lambda 表达式 内置函数式接口 Lambda简述 Lambda语法 方法引用 构造器引用 数组引用 函数式接口概述 只包含一个抽象方法的接口,称为函数式接口. 可以通过 Lambda 表达式来创建该接口的对象. 可以在一个接口上使用 @FunctionalInterface 注解,这样做可以检查它是否是一个函数式接口.同时 javadoc 也会包含一条声明,说明这个接口是一个函数式接口.

  • Java中你真的会用Constructor构造器吗之看完本篇你就真的会了

    引言 相信大家对于java里的构造器应该都是有了解的,这次我们来了解一些构造器的不同使用方式,了解构造器的调用顺序,最后可以灵活的在各种情况下定义使用构造器,进一步优化我们的代码: 构造器简介 还是简单介绍一下构造器到底是什么吧, 构造器是类中一种特殊的方法,通过调用构造器来完成对象的创建,以及对象属性的初始化操作. 构造器定义方式: [修饰符列表] 构造器名(形式参数列表){ 构造方法体; } 构造器有以下几个特点: 构造器名和类名一致: 构造器用来创建对象,以及完成属性初始化操作: 构造器返

  • Java构造器方法深入理解

    目录 重载 1.构造器的重载 2.方法的重载(overload) 重写 重载 1.构造器的重载 因为构造器的名字必须与类名相同,所以同一个类的所有构造器名肯定相同,构成重载:为了让系统能区分不同的构造器,多个构造器的参数列表必须不同. class Person{ int age; String name; public Person(){ } public Person(int age){ this.age = age; } public Person(int age,String name){

  • Java基础教程之构造器与方法重载

    在方法与数据成员中,我们提到,Java中的对象在创建的时候会初始化(initialization).初始化时,对象的数据成员被赋予初始值.我们可以显式初始化.如果我们没有给数据成员赋予初始值,数据成员会根据其类型采用默认初始值. 显式初始化要求我们在写程序时就确定初始值,这有时很不方便.我们可以使用构造器(constructor)来初始化对象.构造器可以初始化数据成员,还可以规定特定的操作.这些操作会在创建对象时自动执行. 定义构造器 构造器是一个方法.像普通方法一样,我们在类中定义构造器.构造

  • java 静态工厂代替多参构造器的适用情况与优劣

    背景 假如现在你要想一个汉堡,有一个汉堡类:Hamburg.那么一般情况下你会: Hamburg hamburg = new Hamburg(); 情景一:不同参数数目的构造器 制作汉堡可以选择自定义,加肉,加菜,或者不添加,直接默认配方即可,那么会有以下几个构造器: Hamburg(); Hamburg(Meat meat); Hamburg(Meat meat,Vegetable vegetable); 当你要制作汉堡的时候,看到这么多的构造器,但是却不知道他们是什么意思,返回的汉堡到底有什

  • java构造器的重载实现实例讲解

    说到重载的问题,已经提过很多次了.我们可以把名称一致,但是内在参数不同的对象看成重载,可以说这些类的名称相同是很有迷惑性的.同时,构造器中装有许多的方法,那么构造器也是可以实现重载的功能.下面我们就构造方法格式.注意事项进行简单介绍,然后带来构造起的重载实例. 1.构造方法格式 public class 类名(){ 类名(String name); 类名 对象=new 类名(String name): } 2.注意事项 构造器必须与主类同名 构造器可以有参数 构造器可以重载 没有返回值 不添加构

  • Java基础第三篇 构造器与方法重载

    目录 1.定义构造器 2.初始化方法的优先级 3.方法重载 4.总结 在方法与数据成员中,我们提到,Java中的对象在创建的时候会初始化(initialization).初始化时,对象的数据成员被赋予初始值.我们可以显式初始化.如果我们没有给数据成员赋予初始值,数据成员会根据其类型采用默认初始值.显式初始化要求我们在写程序时就确定初始值,这有时很不方便.我们可以使用构造器(constructor)来初始化对象.构造器可以初始化数据成员,还可以规定特定的操作.这些操作会在创建对象时自动执行 1.定

  • java构造器 默认构造方法及参数化构造方法

    目录 1.构造器 1.1 权限修饰符是public 1.2 显示定义构造器 1.构造器 构造器也叫构造方法.构造函数,是一种特殊类型的方法,负责类中成员变量(域)的初始化.构造器的用处是在创建对象时执行初始化,当创建一个对象时,系统会为这个对象的实例进行默认的初始化. 有两种类型的构造方法: 1.默认构造方法(无参数构造方法) 2.参数化构造方法 1.1 权限修饰符是public 权限修饰符是public,表示内部属性能被其他类访问到. java默认的构造方法是无参的. Java编译器会自动创建

  • Java构造器(构造方法)与方法区别说明

    构造器,又称为构造方法.构造器用于构造该类的实例,也就是对象. 格式如下:[修饰符] 类名 (形参列表){//n条语句} 构造方法是一种特殊的方法,与一般的方法区别: 1.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有. 2.构造方法的调用是在创建一个对象时使用new操作进行的.构造方法的作用是初始化对象. 3.不能被static.final.synchronized.abstract和native修饰.构造方法不能被子类继承. 构造方法可以被重载.没有参数的构造方

  • Java杂谈之类和对象 封装 构造方法以及代码块详解

    目录 1. 类和对象的初步认知 2. 类的实例化 3. 类的成员 字段(属性/成员变量) 方法 static 关键字 修饰字段 修饰方法 修饰代码块(暂不讲) 修饰类(暂不讲) 4. 封装 5. 构造方法 6. this 用法 关于引用的几个注意事项: 7. 代码块 Java当中的类和对象 1. 类和对象的初步认知 java 是一门面向对象的语言,所谓面向对象有别于面向过程,面向对象是只需对象之间的交互即可完成任务,但是面向过程的话,需要我们将每一个步骤都详细地做出来.比如,以洗衣服为例,如果是

  • Java构造器使用方法及注意事项

    Java构造器使用方法及注意事项 超类的构造器在子类的构造器运行之前运行,也就是说,在创建对象时,先运行超类中的构造器,然后再运行子类中的构造器,此时,如果在执行超类构造器的时候,构造器执行了可覆盖的方法,那么就会去调用子类中的该方法,而此时子类还未被实例化,此时就有可能出问题. 以一个例子说明: public class Super { int age = 10; protected void say() { System.out.println("super"); } public

  • Java构造器与传值学习总结

    本文主要学习Java构造器与传值,供大家参考,具体内容如下 构造器 构造器介绍 构造器是Java学习中一个很重要的概念,每个类的对象在使用关键字new实例化的时候,Java虚拟机都会给这个实例化的对象自动调用一个无参构造器,但是当我们自己写有构造器时,Java虚拟机将不再为我们调用这个无参构造器,而是我们要遵循我们自己写的构造器的参数规则来进行实例化.构造器不需要返回值类型,同时它也可以提供很多方法,最主要的功能是初始化类的变量成员.一个类可以有多个不同的构造器,但是这些构造器的参数列表的数量.

  • IOS之构造方法与自定义构造方法的区别与实现

    构造方法,也就是int方法,不接受任何的参数,而在实际的开发过程中,为了方便,会经常自定义构造方法.因此,以下分别介绍下构造方法和自定义构造方法的实现. #import <Foundation/Foundation.h> #import "Iphone.h" int main(int argc, const charchar * argv[]) { /* Iphone * phone1 = [Iphone new]; phone1->_cpu = 1.5; phone

  • Java接口默认方法带来的问题分析【二义性问题】

    本文实例分析了Java接口默认方法带来的问题.分享给大家供大家参考,具体如下: 一 点睛 Java 8中,如果一个类实现两个或多个接口,即"变相"的多继承,但是若其中两个接口都包含一个名字相同的default方法,会出现二义性问题. 二 实战 1 代码 interface faceA //定义接口faceA { void someMethod( ); default public void DefaultMethod( )//定义接口中默认方法 { System.out.println

  • 简单了解Java的默认和静态方法

    这篇文章主要介绍了简单了解Java的默认和静态方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 浅谈Java的默认和静态方法 允许在接口中声明默认方法和静态方法,是JDK1.8新增的特性.存在即合理,两者的出现,让接口越来越像抽象类,那么它们为什么出现呢,它们的出现产生了哪些便利,Java小白开始学习并总结,不足之处,还望评论区指点一二! Java新增默认方法有啥用 官方解答:默认方法允许您添加新的功能到现有库的接口中,并能确保与采用旧版本接

随机推荐