精华内容
下载资源
问答
  • JAVA构造函数(方法)

    千次阅读 多人点赞 2018-12-27 14:47:11
    java构造函数,也叫构造方法,是java中一种特殊的函数。函数名与类名相同,无返回值。 作用:一般用来初始化成员属性成员方法的,即new对象产生后,就调用了对象了属性方法。 构造函数是对象一建立就运行,给...

    一、什么是构造函数

    java构造函数,也叫构造方法,是java中一种特殊的函数。函数名与类名相同,无返回值。

    作用:一般用来初始化成员属性和成员方法的,即new对象产生后,就调用了对象了属性和方法。

    构造函数是对象一建立就运行,给对象初始化,就包括属性,执行方法中的语句。

    而一般函数是对象调用才执行,用".方法名“的方式,给对象添加功能。

     

     一个对象建立,构造函数只运行一次。

     而一般函数可以被该对象调用多次。

      

    二、构造函数的特点

    1、构造函数函数名与类名相同

    2、构造函数没有返回类型,如:String、void等

    3、构造函数在类中没有体现出来,则默认有一个不带形式参数的默认构造函数

     

    注:一般函数不能调用构造函数,只有构造函数才能调用构造函数。

     

     三、示例

    1、无参构造函数中只定义了一个方法。new对象时,就调用与之对应的构造函数,执行这个方法。不必写“.方法名”。 

    package com.example.constructor;
    
    public class ConstructorDemo {
    	public static void main(String[] args) {
    		Person person = new Person(); // 输出默认构造函数。new对象一建立,就会调用对应的构造函数Person(),并执行其中的打印输出语句。
    	}
    }
    
    class Person {
    	Person() { // 定义构造函数,输出"默认构造函数"
    		System.out.println("默认构造函数");
    	}
    }

    输出:

    默认构造函数

     

     2、有参构造函数,在new对象时,将实参值传给private变量,相当于完成setter功能。

    package com.example.constructor;
    
    public class ConstructorDemo {
    	public static void main(String[] args) {
    		// 实例化Person对象,传参name="zhangsan"、age=25
    		// 因Person类重载构造函数后,原来默认构造函数被覆盖,此时此处若不传形式参数,则会在编译时报错
    		Person person = new Person("zhangsan", 25);
    	}
    }
    
    class Person {
    	private String name;
    	private int age;
    
    	// 此处定义带有形参构造函数后,原来默认的无参构造函数则被覆盖掉
    	Person(String tname, int tage) {
    		name = tname;
    		age = tage;
    		System.out.println("名称:" + name + ",年龄:" + age);
    	}
    }

    输出:

    名称:zhangsan,年龄:25

     

    三、默认构造函数

    当一个类中没有定义构造函数时,系统会给该类中加一个默认的空参数的构造函数,方便该类初始化。只是该空构造函数是隐藏不见的。

    如下,Person(){}这个默认构造函数是隐藏不显示的。

    class Person {
    	Person() {
    		//默认构造函数,默认不显示,若对构造函数重载后需要调用默认构造函数,则需显示定义默认构造函数
    	}
    }


    当在该类中自定义了构造函数,默认构造函数就没有了。

    如果仍要构造函数,则需要自己在类中显示定义默认构造函数。

     

    四、构造函数的重载

    构造函数也是函数的一种,同样具备函数的重载(Overloding)特性。

    package com.example.constructor;
    
    public class ConstructorDemo {
    	public static void main(String[] args) {
    		Person person1 = new Person();
    		Person person2 = new Person("lisi");
    		Person person3 = new Person(30);
    		Person person4 = new Person("lisi", 28);
    	}
    }
    
    class Person {
    	private String name;
    	private int age;
    
    	Person() {
    		System.out.println("名称:" + name + ",年龄:" + age);
    	}
    
    	Person(String tname) {
    		name = tname;
    		System.out.println("名称:" + name + ",  年龄:" + age);
    	}
    
    	Person(int tage) {
    		age = tage;
    		System.out.println("名称:" + name + ",年龄:" + age);
    	}
    
    	Person(String tname, int tage) {
    		name = tname;
    		age = tage;
    		System.out.println("名称:" + name + ",  年龄:" + age);
    	}
    }

    输出:

    名称:null,年龄:0
    名称:lisi,  年龄:0
    名称:null,年龄:30
    名称:lisi,  年龄:28

    展开全文
  • java构造函数和一般函数的区别

    千次阅读 2018-09-01 16:27:41
    当一个类中没有定义构造函数时,系统会默认添加一个无参的构造方法。 当在类中自定义构造方法之后,默认的无参构造方法消失(如果需要无参构造方法需手动添加)。 构造方法与一般方法在写法上的不同: 构造...

    构造方法

    特点:

    1.方法名称和类名相同
    2.不用定义返回值类型
    3.不可以写return语句

    作用:

    给对象初始化

    构造方法的细节:

    当一个类中没有定义构造函数时,系统会默认添加一个无参的构造方法。

    当在类中自定义构造方法之后,默认的无参构造方法消失(如果需要无参构造方法需手动添加)。

    构造方法与一般方法在写法上的不同:

    构造方法:

    public(修饰符) class(定义类的关键字) Test(类名)(){
    //无参
    
    Test(类名)(){  
    
      }
    
    //带一个参数
    
    Test(类名)(String(变量类型) name(变量名)){  
    
      }
    

    }

    一般方法:

     

    定义类:
    public(修饰符) class(定义类的关键字) Test(类名)(){
          private(修饰符) static(修饰符) String(变量类型) s(变量名) = "hello world";
    下面是方法的定义
          public(修饰符)  static(修饰符)  void(返回值类型)  main(方法名)(String[] args(参数)){
                 System.out.println(s);(代码语句)
          }
    }
    

    构造方法与一般方法在运行上的不同:

    构造方法:

    构造方法在创建的时候就给对象初始化; 一个对象建立构造方法只能运行一次;

    一般方法:

    一般方法是对象调用才执行,给对象添加对象具备的功能; 一般方法可以被对象多次调用;

    本文参考:https://blog.csdn.net/qq_33583322/article/details/78076559

    展开全文
  • 主要介绍了java枚举类的构造函数实例详解的相关资料,需要的朋友可以参考下
  • 主要简单给我们介绍了java中匿名内部类构造函数,并附上了简单的示例,有需要的小伙伴可以参考下。
  • JNI获取Java中类方法、构造函数 一 定义native方法,编译生成ray_JniTest.h头文件 二 c中实现,生成 dll文件
  • Java构造函数

    千次阅读 多人点赞 2018-11-22 13:06:46
    Java构造函数创建java构造函数的规则Java构造函数的类型没参数的构造函数 (默认函数的构造类型)Java参数化构造函数Java 构造函数重载java的构造函数方法之间的区别Q)构造函数没有返回值 ?Q)可以构造函数执行...


    java中的构造方法是一种特殊类型的方法,用于初始化对象。Java构造函数在对象创建时被调用。 它构造值,即提供对象的数据,这是为什么它被称为构造函数。

    创建java构造函数的规则

    • 构造函数名称必须与其类名称相同
    • 构造函数必须没有显式返回类型

    Java构造函数的类型

    没参数的构造函数 (默认函数的构造类型)

    示例

    class Student {
        int id;
        String name;
    /*
    *	public Student(){
    *	}                                                 //这个是默认的构造函数
    */
    }
    

    在上面的类中,代码中并没有创建任何构造函数,但编译器自动提供了一个默认构造函数。而默认构造函数的初始化就是为以上字段提供该类型初始的默认值。

    id = 0;
    name = null;
    

    Java参数化构造函数

    具有参数的构造函数称为参数化构造函数。作用:参数化构造函数用于为不同对象提供不同初始化的值。

    示例

    class Student {
        int id;
        String name;
    
    	public Student(int id,String name){
    		this.id = id;
    		this.name = name;
    	}                                                 
    }
    

    Java 构造函数重载

    构造方法重载是Java中的一种技术,一个类可以有任何数量的参数列表不同的构造函数。编译器通过构造函数参数列表中的参数数量及其类型来区分这些构造函数。

    示例

    class Student {
        int id;
        String name;
        int age;
    
        Student(){
        }                                                                             //初始默认构造函数
    
        Student(int i, String n) {				    //重载默认构造函数
            id = i;
            name = n;
        }
    
        Student(int i, String n, int a) {                          //重载默认构造函数
            id = i;
            name = n;
            age = a;
        }
    }
    

    java的构造函数和方法之间的区别

    Java构造函数Java方法
    构造器用于初始化对象的状态(数据)。方法用于操作对象。
    构造函数不能有返回类型。方法一般都有返回类型。
    构造函数隐式调用。方法要显式调用。
    如果没有指定任何构造函数,java编译器提供一个默认构造函数。在任何情况下编译器都不会提供默认的方法调用。
    构造函数名称必须与类名称相同。方法名称随意
    Q)构造函数没有返回值 ?

    A)不是的,构造函数返回当前类的实例(不能指定返回值类型,但它会返回一个值)。

    Q)可以构造函数执行其他任务而不是初始化?

    A)可以的构造函数可以执行任何操作,类似于普通方法。

    展开全文
  • JAVA 构造函数及其重载

    千次阅读 2019-04-13 23:34:31
    以上给出了不同构造函数的重载,不同构造的同一个类的实例化对象,在实例化对象时系统就会自动调用构造函数,给相应得值进行初始化赋值;不同的构造进行不同得初始化,不同的赋值 5、如果类中没有定义构造函数,...

    public class Student{
    public int stuId;
    public String stuName;
    public int stuAge;
    public int stuScore;
    public Student(){
    }
    public Student(int sId,String sName){
    stuId = sId;
    sName = stuName;
    }

    public Student(int sld,Sting sName,int sAge,int sScor){
    			stuId = sId;
    			sName = stuName;
    			sAge = stuAge;
    			sScore = stuScore;
    }
    

    }

    注意:
    1、对于构造方法而言 不能有返回值也不能用void对其进行定义
    2、名称必须与当前类名相同 ,但是可以重载(参数不同 (类型与个数不同))
    3、构造方法只有由系统在创建当前类时自动调用,不可由main函数中定义此类的对象进行调用
    4、需要那种初始化(哪种构造就用哪种构造建立对象,开辟空间)
    e.g. 1、Student stu1 = new Student();
    2、Student stu2 = new Student(201010110,“哈呵哈呵”);
    3、Student stu3 = new Student(1021222,“哈呵哈呵”,20,100);
    以上给出了不同构造函数的重载,不同构造的同一个类的实例化对象,在实例化对象时系统就会自动调用构造函数,给相应得值进行初始化赋值;不同的构造进行不同得初始化,不同的赋值
    5、如果类中没有定义构造函数,系统会在实例化对象时创建一个构造函数;但如果此类中有任何构造函数则系统不会创建任何得构造函数
    系统创建的构造函数为 :
    public 类名(){
    }

    展开全文
  • Java中的构造方法(构造函数)与普通方法区别

    千次阅读 多人点赞 2020-10-17 00:50:29
    特别的,一个类是可以有多个构造函数,可以根据参数个数的不同或者参数类型的不同来区分它们,即为构造函数的重载。 构造方法是类的一个特殊的成员,在类实例化时会自动调用,其构造方法定义格式如下: 修饰符 方法...
  • Java构造函数中调用构造函数

    千次阅读 2019-07-22 23:44:39
    Java中,当为一个类创建了多个构造函数时,有时想在一个构造函数中调用另一个构造函数以减少代码量。这时可以使用this关键字来实现。通常,当使用this关键字时,它意味着“这个对象”或者“当前对象”,并且它自身...
  • java 构造函数和super

    千次阅读 2018-10-18 12:52:06
    这是没有参数的父类的构造方法");} book(int i) {System.out.println("有参数 父类的构造方法");} public void get() {System.out.println("book父类");} } class diction...
  • Java 构造函数特点

    千次阅读 2019-03-20 12:10:52
    构造函数定义的是,对象在调用功能之前,在建立时,应该具备的一些内容。也就是对象的初始化内容。 (2). 构造函数是在对象建立时由jvm调用, 给对象初始化。一般函数是对象建立后,当对象调用该功能时才会执行。 ...
  • java构造函数的调用

    千次阅读 2018-11-09 01:35:42
    一、使用this关键字 构造函数的调用,需要使用this关键字 ...在一个构造函数中调用另一个构造函数,主要是为了增加代码的复用性。 二、实际使用 package com.initialization; /** * 构造...
  • 构造函数与普通函数的区别

    千次阅读 2019-05-26 16:58:44
    构造函数构造函数的作用: 给对应的对象进行初始化。 构造函数的定义的格式: 修饰符 函数名(形式参数){ 函数体... } 构造函数要注意的细节: 1. 构造函数 是没有返回值类型的。 2. 构造函数的函数名...
  • 1 不加this,参数变量同名 2 不加this,参数变量不同名 3 加this,参数变量同名
  • Java 构造函数的详解

    万次阅读 多人点赞 2016-07-14 14:54:44
    我们人出生的时候,有些人一出生之后再...2.构造函数与普通函数的区别: (1). 一般函数是用于定义对象应该具备的功能。而构造函数定义的是,对象在调用功能之前,在建立时,应该具备的一些内容。也就是对象的初
  • java构造函数和一般函数的区别

    千次阅读 2017-03-24 10:38:39
    构造函数:用于给对象进行初始化,是给与之对应的对象进行初始化,它具有针对性,函数中的一种。 特点:1. 该函数的名称所在类的名称相同。2. 不需要定义返回值类型。3. 该函数没有具体的返回值。 记住:所有...
  • java8中的方法引用和构造函数引用

    千次阅读 2019-09-29 21:29:47
    方法引用Lambda 方法引用可以被看作仅仅调用特定方法的Lambda的一种快捷 写法。 它的基本思想是,如果一个Lambda代表的只是“直接调用这个方法”,那最好还是用名称 来调用它,而不是去描述如何调用它。 事实上...
  • Java构造函数之调用父类构造函数

    万次阅读 2016-09-21 09:54:39
    如果父类提供了无参数的构造函数,此时子类的构造函数就可以不显式的调用父类的构造函数,默认调用父类的无参构造函数。 package com.bjut.StudyTest; class Person { public Person() { Syste
  • 众所周知,java没有办法设置默认参数,只有通过函数的重载的性质来完成对默认参数的设置。 例如: 为了是的函数能最大形式的通用,会传入正则表达式,但在大部分情况下,使用默认的参数就够了,所以就对removeSpace...
  • 构造函数就是在我们定义一个类似时就已经默认存在的. 例如: class Perso{ private String name; //私有属性 名字 private int age; //私有属性 年龄 //功能 public void speak() { System.out.println(name+...
  • JAVA学习笔记之构造函数和初始化块

    千次阅读 2016-08-29 17:32:08
    构造函数的功能:用来初始化对象的成员变量的方法。 一般初始化的都是实例变量。很少情况下给静态变量初始化 构造函数是不写返回值的。...构造函数一般用public修饰,不能用static修饰。 构造函数其实是有返回值的
  • 小编因为上Java课听不懂老师讲重载——(狗爸爸与狗儿子的故事)所以,一直弄不清楚什么是函数什么是构造函数,emmmmmmmm不过,小编热爱学习,现在终于弄明白了。 构造函数:是一种特殊的方法主要用来在创建对象...
  •  //不能再非构造函数中使用this调用构造函数  System.out.println("petalCount = " + petalCount + "s = " + s);  }  public static void main(String[] args) {  // TODO Auto-generated method stub ...
  • java构造函数的作用

    万次阅读 2018-06-10 17:01:49
    1.构造函数的作用:当new一个对象的时候,调用构造函数完成对象的初始化;package com.dbzhang.demo; /** * 懒汉式单例模式 * @author Administrator * */ class Singleton{ private Singleton(){} private ...
  • java构造函数使用方法总结

    千次阅读 2017-03-29 21:21:21
    仅用作学习使用  使用构造器时需要记住: 1.构造器必须与类同名(如果一个源文件中有多个类,那么构造器必须与公共类同名) 2.每个类可以有一个以上的构造器 3.构造器可以有0个、1个或1个以上的参数 ...A.java
  • Java构造函数与默认构造函数(深入版)

    千次阅读 多人点赞 2020-03-07 22:39:11
    构造函数在类初始化实例化的过程中发挥什么作用? (若文章有不正之处,或难以理解的地方,请多多谅解,欢迎指正) 构造函数与默认构造函数 构造函数 构造函数,主要是用来在创建对象时初始化对象,一般会跟new...
  • Java里的构造函数(构造方法)

    千次阅读 2018-03-24 10:09:02
    本文转载之...特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们,即构造函数的重载。一, 构造函数的特点:构造函数的主要作用是完成对象的初始...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 677,679
精华内容 271,071
关键字:

java构造函数和一般函数的区别

java 订阅