构造方法_构造方法 java - CSDN
构造方法 订阅
构造方法是一种特殊的方法,它是一个与类同名的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。 展开全文
构造方法是一种特殊的方法,它是一个与类同名的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。
信息
类    别
编程方法
特    点
与类同名且没有返回值类型的方法
作    用
对象的创建
中文名
构造方法
外文名
Construction method
构造方法定义
在Java中,任何变量在被使用前都必须先设置初值,如无显式赋值,则编译器会为其进行隐性赋值。Java提供了为类的成员变量赋初值的专门方法。
收起全文
精华内容
参与话题
  • 构造方法

    千次阅读 2020-05-27 09:14:55
    构造方法(构造函数)是类的一种特殊方法,用于创建对象时初始化对象中新的属性值; 语法: [访问符] 类名([参数列表]){ //初始化语句 } (1)方法名和类名相同 (2)方法名的前面没有返回类型的声明 (3)方法中不...
      构造方法(构造函数)是类的一种特殊方法,用于创建对象时初始化对象中新的属性值;
    

    语法:
    [访问符] 类名([参数列表]){
    //初始化语句
    }
    (1)方法名和类名相同
    (2)方法名的前面没有返回类型的声明
    (3)方法中不能使用return语句返回一个值
    类的构造器方法又分为两种:
    默认构造方法:不带参数的构造方法,可以有语句,也可以没有语句;
    非默认构造方法:是指带参数的构造方法;
    this关键字
    1.代指对象本身;
    2.this访问本类的对象变量和成员方法 代表当前对象;
    3.在构造方法中使用this 代表创建的对象;
    语法格式:this.成员变量;
    对象的浅拷贝和深拷贝:
    拷贝:利用已存在的对象 ,创建当前对象;
    浅拷贝:当前对象的属性是基本数据类型
    深拷贝:当前对象的属性是引用数据类型
    可变参数:
    语法:
    [访问符] [修饰符]<返回类型>方法名 ([参数列表],数据类型&……变量 ){
    //方法体 }
    1、可变参数只能处于参数列表的最后
    2、一个方法中最多只能包含一个可变参数;
    3、可变参数的本质就是一个数组,因此在调用一个包含可变参数的方法时,既可以传入多个参数,也可以传入一个数组。

    展开全文
  • [Java基础]-- 有参构造方法和无参构造方法

    万次阅读 多人点赞 2018-12-18 21:49:22
    java构造方法:有参构造方法和无参构造方法   一、无参构造方法 1、定义: 如果编写一个javaBean时没有添加无参构造方法,那么编译器会自动添加无参构造方法; 但是如果编写时添加了有参构造方法而未添加无参...

    java构造方法:有参构造方法和无参构造方法

     

    一、无参构造方法

    1、定义:

    如果编写一个javaBean时没有添加无参构造方法,那么编译器会自动添加无参构造方法;

    但是如果编写时添加了有参构造方法而未添加无参构造方法,那么编译器只认有参构造方法而不会默认添加无参构造方法!

    所以,如果需要使用无参构造方法,一定要在类里面添加

     

    2、举例:

    (1)有4个javaBean --------> NoParamInfo.java、 NoParamInfo2.java NoParamInfo3.java NoParamInfo4.java

    public void NoParamInfo{

    private String name;

    private String adrress;

    }

     

    public void NoParamInfo2{

    private String name;

    private String adrress;

    public NoParamInfo(){} //无参构造方法

    }

     

    public void NoParamInfo3{

    private String name;

    private String adrress;

    //有参构造方法

    public NoParamInfo(String name,String address){

    this.name=name;

    this.address=address;

    }

    }

     

    public void NoParamInfo4{

     

    private String name;

    private String adrress;

    public NoParamInfo(){} //无参构造方法

    //有参构造方法

    public NoParamInfo(String name,String address){

    this.name=name;

    this.address=address;

    }

    }

    (2)测试

    @Test

    public void testNoParamInfo(){

    //这样写,编译器不会报错

    NoParamInfo  np=new NoParamInfo();

    //这样写,编译器也不会报错

    NoParamInfo2  np=new NoParamInfo2();

    //这样写,编译器会报错,原因是无参构造方法被有参构造方法覆盖,编译器不能提供无参构造方法

    NoParamInfo3  np=new NoParamInfo3();

    //这样写,编译器不会报错

    NoParamInfo4  np=new NoParamInfo4();

    //这样写,编译器不会报错

    NoParamInfo4  np=new NoParamInfo4(“tina”,'地球村');

    }

    二、有参构造方法

    顾名思义就是在无参构造方法里面添加了一定的形式参数

     

     

     

    展开全文
  • Java之构造方法

    千次阅读 多人点赞 2020-04-12 11:50:25
    为什么要有构造方法 我们知道,代码执行出的效果越接近现实世界,越说明它反应出了现实生活中的需求。例如,我们新建一个“人”class,我们为这个类附加上“人”的吃饭穿衣属性。代码运行的过程中,只要调用到了...

     目录

    为什么要有构造方法

    构造方法

    作用:

    格式:

    构造方法的使用

    如何给构造方法赋值

    构造方法可重载

    构造方法和一般方法的区别


     

    为什么要有构造方法

     

    我们知道,代码执行出的效果越接近现实世界,越说明它反应出了现实生活中的需求例如,我们新建一个“人”class,我们为这个类附加上“人”的吃饭穿衣属性。代码运行的过程中,只要调用到了人的吃饭穿衣属性,程序就会把对应的效果呈现给用户。

    的确很厉害,可是在现实世界中,很多东西不是“后天得到或学会的”,就比如人出生就有性别和年龄,这些属性是无需人为调用出来的,因为他们一直存在。

    我们把这个例子应用在程序中,也就是说它实际上不能在调用方法的时候才显示,只要“人”出来了,它的性别年龄就自然而然的出来了。那么这样的代码怎么写?这就需要用到构造方法了。

     

     

    构造方法

     

    作用构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法。

    格式: 方法的名字必须和类的名字完全一致。构造方法不允许写返回值类型,void也不能写。命名格式如下

    public 类名称(参数类型 参数名称) {
        方法体
    }

     

     

    构造方法的使用——用个例子来体会

     

    Person类

    
    public class Person {
    	private String name;
    	private int age;
    	
    	//定义Person类的构造方法
    	public Person(){
    		System.out.println("我是一个空参数的构造方法");
    	}
    }

     

    Test测试类

    
    public class Test {
    
    	public static void main(String[] args) {
    			Person p = new Person();
    	}
    
    }

     

    打印出来的是这样的~

     

    请看,是不是person实例化了一个对象,这个对象就像刚出生的小孩一样有性别和年龄了~~~

     

     

    如何给构造方法赋值

     

     person类

    public class Person {
    	private String name;
    	private int age;
    	
    	//定义Person类的构造方法
    	public Person(String name,int age){
    		this.name = name;
    		this.age = age;
    	}
    
    	public String getName() {
    		return name;
    	}
    
    	public void setName(String name) {
    		this.name = name;
    	}
    
    	public int getAge() {
    		return age;
    	}
    
    	public void setAge(int age) {
    		this.age = age;
    	}
    	
    }
    

     

    Test类

    public class Test {
    
    	public static void main(String[] args) {
    			Person p = new Person("张三",20);
    			
    			
    			//对象p调用方法getName,geAge
    			System.out.println(p.getName());
    			System.out.println(p.getAge());
    	}
    
    }

     

     

    仔细看下我们是在哪里给姓名和属性赋值的?

     

     

    构造方法可重载

     

    因为可以重载,所以当你新建一个测试类,分别调用这两个构造方法时,显示的结构是不同的~ 

    	//带参数的构造方法
    	public Person(String name,int age){
    		this.name = name;
    		this.age = age;
    	}
    	
    	//不带参数的构造方法
    	public Person(){
    		
    	}

     

     

    构造方法和一般方法的区别

     

    从定义上看:

    构造方法的名字必须有固定的格式,不能更改(格式要求在上文)。而其他方法名字可以自己定义,可以有void等等。

     

    从执行上看: 

    构造方法在对象创建时就已经执行了,而且只执行一次。其他方法可以自己手动调用,想调用几次就调用几次。

     

    展开全文
  • java中构造方法和普通方法的区别

    万次阅读 多人点赞 2020-05-13 17:39:06
    1.普通方法: 定义:简单的说方法就是完成特定功能的代码块。 普通方法定义格式: 修饰符 返回值类型 方法名 (参数类型 参数名1,参数类型参数名2,.........) { 函数体; return 返回值; } 返回值...

    1.普通方法:

    定义:简单的说方法就是完成特定功能的代码块。

    普通方法定义格式:

    修饰符   返回值类型   方法名 (参数类型 参数名1,参数类型 参数名2,.........)

    {

                函数体;

                return 返回值;

    }

    返回值类型用于限定返回值的数据类型。

    普通方法分为:有明确返回值的方法和没有明确返回值的方法。

    A.有明确返回值的方法的调用

    可以单独调用(无意义)、输出调用、赋值调用(推荐)。

    public static int sum (int a , int b)
    {
        int c =a+b;
        return c ;
    }
    public static void main(String[] args)
    {
               //sum(10,20); //单独调用
               //System.out.println(sum(10,20));  //输出调用
               int sum01 =sum(10,20); //赋值调用
    }

    B.没有明确返回值的方法调用(void类型方法的调用)

       只能单独使用。

    如果一个方法没有明确的返回值类型,方法定义中的“返回值类型”就用void代替,表示该方法无返回值类型。) 

     

     

    2.构造方法

    定义:简单的来说是给对象的数据进行初始化的。

    构造方法是类的一个特殊的成员,在类实例化时会自动调用。 

    构造方法定义格式:

    修饰符   方法名()

    {

    }

    注意:1.方法名与类名相同。

               2.没有返回值类型。

               3.没有具体的返回值。

    构造方法分为:无参构造方法和有参构造方法。

    A.无参构造方法

    public class Student{

    public  Student(){                    //无参构造方法

    System.out.println("无参方法被调用");

    }

    }

    public class Test {

    public  static void main (String[]  args){

    Student   stu = new Student();  //实例化Student对象

    }

    }//该方法是无参的构造方法,即构造方法不接收参数,执行后输出即可,无参的构造方法被调用。

    B.有参构造方法

    为一个属性赋值有两种方法:①、直接访问对象属性 ②、通过setXxx()方法 
    如果想在实例化对象的同时就为这个对象的属性进行赋值,可以通过带参数的构造方法来实现

    public class Student{

    private String name;

    private int  age;

    public  Student(String name,int age){             //有参构造方法

        this name = name;

        this  age  = age ;

    }

    public  void show (){

    System.out.println("姓名:"+name+"年龄:"+age);

    }

    }

    public  class  Test02(){

    public static void main (String[]   args)

    {

    Student  stu = new Student("王小五",25);     //实例化对象的同时赋值

    stu.show();

    }

    }

    构造方法注意事项:

    1.java中的每一个类都至少有一个构造方法,如果我们没有创建,系统会为我们创建一个默认的无参构造方法。(不显示代码)

    2.但是如果我们定义了构造方法,系统就不会再为我们提供默认的无参构造方法了。这个时候想使用无参构造方法必须自己定义。因为实例化对象时,不一定会输入参数,那么没有无参的构造方法,又不输入参数,就会出错。

    3.构造方法需要用public来修饰,若使用private,在其他类中无法将其实例化。

    4.构造方法是可以重载的。

     

    展开全文
  • 构造方法

    2018-12-03 14:59:54
    1.构造方法的定义要去:方法名称与类名称相同,无返回值声明: 2、构造方法是在类对象使用关键字new实例化的时候被默认调用的。不管你的代码如何改变。是要是有了关键字new。就一定需要构造方法。 3、一个类中至少有...
  • java学习—构造器(构造方法

    万次阅读 多人点赞 2018-02-09 00:58:30
    java中的构造方法是一种特殊的方法,用于初始化对象。java构造函数在对象创建时被调用。它构造值,即提供对象的数据。 创建java构造函数的规则 构造函数基本上定义了两个规则。分别如下: 构造函数名必须与其...
  • 构造方法的定义与使用

    千次阅读 2018-10-26 15:23:01
    构造方法(主要意义是对类中属性初始化) 构造方法的三大特征: a.构造方法名称必须与类名称相同 【1类名称】Persion 【2对象】per1 = 【3】 new 【4 构造方法】Persion(); b.构造方法没有返回值类型声明...
  • 什么是构造方法

    千次阅读 2020-04-01 17:20:16
    构造方法 1.不写返回值类型 2.名字与类名称完全相同 3.不能return 4.不自己写构造方法时,默认存在一个空的构造方法 没有参数没有方法体 5.一旦写了至少一个构造方法,默认那个空的就不存在了 【还想用没有参数的...
  • java的Constructor(构造器)的理解

    万次阅读 多人点赞 2018-03-05 11:17:10
    使用构造器时需要记住:1.构造器必须与类同名(如果一个源文件中有多个类,那么构造器必须与公共类同名)2.每个类可以有一个以上的构造器3.构造器可以有0个、1个或1个以上的参数4.构造器没有返回值5.构造器总是伴随...
  • Java中类的构造方法

    万次阅读 多人点赞 2016-11-19 11:07:23
    new对象时,都是用构造方法进行实例化的; 例如;Test test = new Test("a"); //Test("a");其中这个就是构造函数,“a”为构造方法的形参;构造方法的方法名必须与类名一样。 构造方法没有返回类型,也不能...
  • 一个关于eclipse中如何快速创建构造方法

    万次阅读 多人点赞 2017-03-08 13:48:05
    一个关于eclipse中如何快速创建构造方法 public class Person{ String name; } 例如 我写了这样一个类 我想创建构造方法 建一个 无参的  我记得 好像 eclipse中 好像可以点右键生成的吧 我忘了 请知道的告诉下...
  • Java有参构造方法和无参构造方法

    万次阅读 多人点赞 2018-10-29 11:16:29
    Java有参构造方法和无参构造方法 1**、定义:** 编写一个类时没有添加无参构造方法,那么编译器会自动添加无参构造方法;(如果自己添加构造函数,无论有参数或是没参数,默认构造函数都将无效) 编写时添加了有参...
  • 笔者之前一直很疑惑:为什么别人的源代码中的类...这个是Java的规定:子类继承父类,子类的构造方法必须调用super()即父类的构造方法,而且必须放在构造方法的第一行。那么问题又来,为什么我写的类有时候都不用去...
  • java中什么是构造方法及其作用

    万次阅读 多人点赞 2017-01-24 17:47:16
    java中什么是构造方法及其作用 构造方法就是与类同名的那个方法,它的作用是可以用来初始化 class Person{ public Person(String n,int a){ //构造方法  name = n;  age = a;  System.out.println(n+...
  • Java构造方法的相互调用

    万次阅读 2017-04-19 10:20:34
    构造方法
  • IDEA自动生成构造函数

    万次阅读 多人点赞 2018-03-28 16:19:15
    Alt + Insert Constructor
  • 但是如果编写时添加了有参构造方法而未添加无参构造方法,那么编译器只认有参构造方法而不会默认添加无参构造方法 所以,如果需要使用无参构造方法,一定要在类里面添加 2、举例:public void text1 { private ...
  • [Java基础]Java中抽象类和接口中有构造方法吗?

    万次阅读 多人点赞 2019-05-17 17:13:35
    2.问题描述:Java中抽象类和接口中有构造方法吗? 3.问题解答: (1)Java中抽象类和接口中有构造方法吗? ①在接口中 不可以有构造方法 在接口里写入构造方法时,编译器提示:Interfaces ...
  • Java子类调用父类构造方法

    万次阅读 多人点赞 2017-09-29 14:49:15
    在Java中,子类的构造过程中,必须调用其父类的构造函数,是因为有继承关系存在时,子类要把父类的内容继承下来,通过什么手段做到的?   答案如下:   当你new一个子类对象的...构造方法是new一个对象的时候
  • 构造方法和普通方法有什么区别

    万次阅读 2017-05-06 17:08:00
    与一般方法相比,构造方法的特点是:   1 、构造函数的名称总是和它的类名一致。 2 、构造函数没有返回值, 即不可以为 它指定任何类型的返回值,包括 void..3 、在构造函数的第一条语句中,可以 调用同类的另一个...
1 2 3 4 5 ... 20
收藏数 1,966,328
精华内容 786,531
关键字:

构造方法