精华内容
下载资源
问答
  • Java构造方法

    千次阅读 多人点赞 2019-09-09 19:26:39
    Java构造方法 当新对象被创建的时候,构造方法会被调用。每一个类都有构造方法。当类中没有定义构造函数时,系统会指定给该类加上一个空参数的构造函数。这个是类中默认的构造函数。当类中如果自定义了构造函数,...

    Java构造方法

    当新对象被创建的时候,构造方法会被调用。每一个类都有构造方法。当类中没有定义构造函数时,系统会指定给该类加上一个空参数的构造函数。这个是类中默认的构造函数。当类中如果自定义了构造函数,这时默认的构造函数就没有了。

    Java中构造方法重载和方法重载很相似。可以为一个类创建多个构造方法。每一个构造方法必须有它自己唯一的参数列表。

    Java不支持像C++中那样的复制构造方法,这个不同点是因为如果你不自己写构造方法的情况下,Java不会创建默认的复制构造方法。

    构造方法的方法名必须与类名相同

    构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。

    构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。

    一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。

    构造方法可以重载,以参数的个数,类型,顺序。

    构造方法是一个特殊的方法。
    方法结构:
    访问修饰符 类名(参数列表){方法体}

    构造方法重载。
    在没写构造方法是 有一个默认的
    类名(){}构造方法

    this()是调用本类不带参构造方法;
    super()是调用父类不带参的构造方法;

    构造方法和方法的类似之处在于它们都包含可执行代码,区别在于,只有当Java类实例化时才执行构造方法。构造方法通常包含类属性初始化代码,从严格意义上说,构造方法并不是方法,因为它不会返回任何值。

    	public class A{
    		int i=0;
    		public A(){
    			i=2;
    		}
    		public A(int i){
    			this.i=i;
    		}
    	}
    

    默认构造方法
    如果没有任何的构造方法,编译时系统会自动添加一个默认无参构造方法
    1.隐含的默认构造方法

    public A(){}
    

    2.显示的默认构造方法

    	public A(){
    	System.out.print("显示的默认构造方法")
    	}
    

    重载构造方法
    比如原本的类里的构造方法是一个参数的,现在新建的对象是有三个参数,此时就要重载构造方法
    当一个类中有多个构造方法,有可能会出现重复性操作,这时可以用this语句调用其他的构造方法。

    public class A{
    	private int age;
    	private String name;
    	public A(int age,String name){
    		this.age=age;
    		this.name=name;
    	}
    	public A(int age){
    		this(age,"周杰伦");//调用 A(int age,String name)构造方法
    	}
    	public A(){
    		this(1);//调用 A(int age)构造方法
    	}
    	public void setName(String name) {this.name=name;}
    	public String getName() {return name;}
    	public void setAge(int age) {this.age=age;}
    	public int getAge() {return age;}
    }
    
    A a=new A(20,"邓紫棋");
    A b=new A(20);
    A c=new A();
    String name = a.getName();
    String name1 = b.getName();
    int age = c.getAge();
    System.out.println(name);
    System.out.println(name1);
    System.out.println(age);
    
    展开全文
  • java构造方法

    千次阅读 2019-05-01 14:56:49
    1 构造方法可以被重载,一个构造方法可以通过this关键字调用另一个...2 当一个类中没有定义任何构造方法Java将自动提供一个缺省构造方法; 3 子类通过super关键字调用父类的一个构造方法; 4 当子类的某个构造...

    java构造方法特点

    • 1 构造方法可以被重载,一个构造方法可以通过this关键字调用另一个构造方法,this语句必须位于构造方法的第一行;
      重载:方法的重载(overload):重载构成的条件:方法的名称相同,但参数类型或参数个数不同,才能构成方法的重载。

    • 2 当一个类中没有定义任何构造方法,Java将自动提供一个缺省构造方法;

    • 3 子类通过super关键字调用父类的一个构造方法;

    • 4 当子类的某个构造方法没有通过super关键字调用父类的构造方法,通过这个构造方法创建子类对象时,会自动先调用父类的缺省构造方法

    • 5 构造方法不能被static、final、synchronized、abstract、native修饰,但可以被public、private、protected修饰;

    • 6 构造方法不是类的成员方法;

    • 7 构造方法不能被继承。

    展开全文
  • java 构造方法

    千次阅读 2016-12-16 16:02:39
    构造方法的特点:  1、构造方法的方法名必须和当前的类名保持一致。  2、构造方法是没有返回值的,也就是在书写构造方法的时候不能书写返回值类型(注意这里连void都不能写)可以添加修饰符  构造方法中需要...

    构造方法的特点:

                         1、构造方法的方法名必须和当前的类名保持一致。

                         2、构造方法是没有返回值的,也就是在书写构造方法的时候不能书写返回值类型(注意这里连void都不能写)可以添加修饰符

     构造方法中需要注意的问题:

                  1、如果在一个构造方法中调用其他的构造方法,那么这个this()调用必须写在该类这个构造方法中的第一行。

                  2、在一个类中的构造方法可以调用其他的构造方法,但是不能形成相互嵌套在一起调用,因为调用会无法停止,

                         导致对象创建无法正常结束。

                 

                  3、构造方法是没有返回值的,如果在一个类中书写了一个方法,方法名和类名一致,但是这个方法有返回值类型,

                         那么这个方法不是构造方法,而是一个一般的方法。

                         开发时不要把普通的方法名称定义的和类名一致

                 

                  4、构造方法可以调用一般方法吗?

                         构造方法是可以调用一般方法的。构造方法在运行的时候,是被某个正在创建的对象调用的。

                         也就是说明当前这个对象在堆已经存在,只是正在进行初始化动作,这个时候对象已经有了,

                         那么就可以通过这个对象调用一般的方法了。

     

     

                  5、一般方法可以调用构造方法吗?

                         不可以。因为一般方法在运行的时候,说明对象早已经创建完成了,那就说明构造方法早就执行过去了。

                         构造方法是在创建对象的过程中执行的方法,而一般方法运行的时候,对象已经存在,构造方法执行了。

     

                  为什么要this调用构造方法,而不使用构造方法名调用构造方法呢?

                         由于在一个类中可以把普通的方法的名字定义的和构造方法名称一致,

                         这样在构造方法中通过名称调用其实根本无法调用其他的构造方法,只能调用本类的一般方法。

                         所以我们要调用构造方法,只能使用this。


    程序代码:

            

    class Person

    {

           Stringname;

           intage;

           //这个构造方法是给姓名和年龄同时初始化的

           Person(String nm , int a )

           {

                  //name = nm;

                  this(nm);//在调用本类中的可以接收一个参数并且是String类型的构造方法

                  //this(a);    这里报错,因为this()只能放在第一行,而第一行已经调用了其他的构造方法

                  //调用一般方法

                  Person(nm,a);

           }

           //只能给姓名进行初始化

           Person(String nm )

           {

                  //this(nm,123);

                  name = nm;

           }

    }



    展开全文
  • Java构造方法和子类构造方法

    千次阅读 多人点赞 2019-07-21 23:50:09
    Java构造方法 构造方法是用于初始化一个新建的对象。 普通构造方法 方法名与类名相同 无返回类型 子类不能继承父类的构造方法 不能被static、final、abstract修饰(有final和abstract修饰的是不能被子类继承的,...

    Java构造方法

    构造方法是用于初始化一个新建的对象。

    普通构造方法

    • 方法名与类名相同
    • 无返回类型
    • 子类不能继承父类的构造方法
    • 不能被static、final、abstract修饰(有final和static修饰的是不能被子类继承的,abstract修饰的是抽象类,抽象类是不能实例化的,也就是不能new)
    • 可以被private修饰,可以在本类里面实例化,但是外部不能实例化对象(注意!!!)
      参考文档:https://zhidao.baidu.com/question/502830408.html
    	public class A{
    		int i=0;
    		public A(){
    			i=2;
    		}
    		public A(int i){
    			this.i=i;
    		}
    	}
    

    默认构造方法

    如果没有任何的构造方法,编译时系统会自动添加一个默认无参构造方法

    1. 隐含的默认构造方法
    	public A(){}
    
    1. 显示的默认构造方法
    	public A(){
    	System.out.print("显示的默认构造方法")
    	}
    

    重载构造方法

    比如原本的类里的构造方法是一个参数的,现在新建的对象是有三个参数,此时就要重载构造方法

    当一个类中有多个构造方法,有可能会出现重复性操作,这时可以用this语句调用其他的构造方法。

    public class A{
    	private int age;
    	private String name;
    	public A(int age,String name){
    		this.age=age;
    		this.name=name;
    	}
    	public A(int age){
    		this(age,"无名氏");//调用 A(int age,String name)构造方法
    	}
    	public A(){
    		this(1);//调用 A(int age)构造方法
    	}
    	public void setName(String name) {this.name=name;}
    	public String getName() {return name;}
    	public void setAge(int age) {this.age=age;}
    	public int getAge() {return age;}
    }
    
    A a=new A(20,"周一");
    A b=new A(20);
    A c=new A();
    String name = a.getName();
    String name1 = b.getName();
    int age = c.getAge();
    System.out.println(name);
    System.out.println(name1);
    System.out.println(age);
    

    java子类构造方法调用父类构造方法

    首先父类构造方法是绝对不能被子类继承的。

    子类构造方法调用父类的构造方法重点是:子类构造方法无论如何都要调用父类的构造方法
    子类构造方法要么调用父类无参构造方法(包括当父类没有构造方法时。系统默认给的无参构造方法),要么调用父类有参构造方法。当子类构造方法调用父类无参构造方法,一般都是默认不写的,要写的话就是super(),且要放在构造方法的第一句。当子类构造方法要调用父类有参数的构造方法,那么子类的构造方法中必须要用super(参数)调用父类构造方法,且要放在构造方法的第一句。

    当子类的构造方法是无参构造方法时,必须调用父类无参构造方法。因为系统会自动找父类有没有无参构造方法,如果没有的话系统会报错:说父类没有定义无参构造方法。

    当子类构造方法是有参构造方法时,这时就会有两种情况。
    第一种:子类构造方法没有写super,也就是说你默认调用父类无参构造方法,这样的话就和子类是无参构造方法一样。
    第二种:子类构造方法有super(参数)时,就是调用父类有参构造方法,系统会找父类有没有参数一致(参数数量,且类型顺序要相同)的有参构造方法,如果没有的话,同样也会报错。
    但是这里会遇到和重载构造方法this一样问题,一个参数的构造方法可以调用多个参数构造方法,没有的参数给一个自己定义值也是可以的。

    展开全文
  • Java 构造方法

    千次阅读 2012-04-09 10:46:28
    构造函数必须满足的语法规则...在重载构造方法中可以使用this语句来调用其他构造方法,使用时应该注意:如果在构造方法中使用了this语句,则必须作为构造方法的第一条语句;只能在一个构造方法中用this语句来调用类的其
  • JAVA构造方法

    千次阅读 2010-08-15 19:54:00
    在我们初学JAVA时,已经不可避免的使用到了构造方法(Constructor)--因为实例化一个对象实际上就是去调用这个对象的构造方法。那么究竟什么是构造方法?我们为什么需要构造方法?下面我们来看以下代码,以下是Student类...
  • java构造方法:有参构造方法和无参构造方法 一、无参构造方法 1、定义: 如果编写一个javaBean时没有添加无参构造方法,那么编译器会自动添加无参构造方法; 但是如果编写时添加了有参构造方法而未添加无参...
  • Java构造方法和析构方法

    千次阅读 2018-04-26 17:15:47
    Java构造方法类有一个特殊的成员方法叫作构造方法,它的作用是创建对象并初始化成员变量。在创建对象时,会自动调用类的构造方法。构造方法定义规则:Java中的构造方法必须与该类具有相同的名字,并且没有方法的返回...
  • java构造方法:有参构造方法和无参构造方法   public class Student {  private String name;  private int age; public Student(){   } public Student(String name){  this.name=name; } public String ...
  • Java构造方法学习,代码讲解

    千次阅读 2020-03-16 09:57:12
    * 标题:Java构造方法 * 作者:Nstar * 时间:2020年3月6日 *内容: * 问:何为Java构造方法? * 答:构造方法是类的一种特殊方法,用来初始化类的一个新的对象,每个类都有一个默认的构造方法,并且可以有多个构造...
  • Java 构造方法详解

    千次阅读 多人点赞 2021-02-20 16:07:23
    构造方法 我们对封装已经有了基本的了解,接下来我们来看一个新的问题,依然以Person为例,由于Person中的属性都被private了,外界无法直接访问属性,必须对外提供相应的set和get方法。当创建人对象的时候,人对象...
  • java构造方法与重载

    千次阅读 2019-02-20 22:05:19
    构造方法负责对象成员的初始值化工作 1.方法名与类名相同 2.没有返回类型(void也不行) 3.构造方法是在创建实例时会被自动调用 4.一个类可能没有构造方法,但一定有系统隐蔽无参的构造方法,也有多个构造方法(他们...
  • JAVA 构造方法 静态方法

    千次阅读 2017-12-06 21:49:51
    构造方法 作用: 对 对象的属性(成员变量)进行初始化 写法: 1.构造方法的方法名与类名完全相同 2.没有返回值类型(连void都不写) 3.没有返回值注意事项: 1.没写构造方法 系统则会提供一个无参的构造方法 2.写...
  • Java构造方法 重载与重写

    万次阅读 多人点赞 2019-04-18 18:10:44
    1.Java中的构造方法 构造方法的特性: 必须具备和所在类相同的名字 没有返回值类型,连void 也没有 构造方法是在创建一个对象使用 new 操作符时候调用的 构造方法的作用是初始化对象,也可以重载(即-可以有多个...
  • Java构造方法和成员方法

    万次阅读 2017-10-25 20:57:56
    构造方法和成员方法 1:构造方法 1:构造方法作用概述 给对象的数据进行初始化 2:构造方法格式 方法名与类名相同 没有返回值类型,连void都没有 没有具体的返回值 3:构造方法注意事项 如果...
  • Java 构造方法与成员方法的区别

    千次阅读 多人点赞 2019-05-27 10:48:30
    认定构造方法是,类名与构造方法相同,这个方法就是构造方法,这个类中除了构造方法以外的方法都是构造方法,原因是在类中,除了变量外的基本都是成员方法。 看一个小案例 package me; public class Me { private ...
  • JAVA构造方法及其重载

    千次阅读 2016-11-23 17:49:03
    在没有给构造方法的时候,系统会自动给出一个默认的构造方法 但是注意在给出任意一个构造方法的时候,系统将不会提供构造方法 构造方法重载的时候,会根据方法参数来确定使用哪一个构造方法 下面看...
  • Java构造方法和@Autowire

    千次阅读 2019-06-14 13:48:03
    1.构造方法不能被继承。 2.子类构造方法在没有显示调用父类有参构造方法时会默认调用父类无参构造方法(没有则报错)如: public class TestA extends Test { /** * 会默认调用父类的无参构造方法,父类...
  • java构造方法的定义与作用

    万次阅读 多人点赞 2018-09-27 17:30:38
    构造方法(什么时候调用?,作用是什么?) 构造方法: 1.它具有与类名相同的名称 2.它没有返回值(如果有,则不是构造方法,而是和构造方法同名的成员方法) 3.构造方法的调用时机与一般的方法不同。一般的方法是在...
  • java 构造方法和一般方法的区别

    万次阅读 多人点赞 2015-02-28 09:29:10
    构造方法 特点: 1.方法名称和类名相同 2.不用定义返回值类型 3.不可以写return语句 作用: 给对象初始化 构造方法的细节: 当一个类中没有定义构造函数时,系统会默认添加一个无参的构造方法。 当在类中自定义...
  • 构造方法: public book(){ // 方法体 } 定义无返回值方法: public void book(){ //方法体 } 请问构造方法是否如void没有返回值的,还是有返回值但是不能定义返回值类型而已。
  • 我们都知道java构造方法是和类名一样的,那么构造方法有什么用处呢
  • Java 构造方法的修饰符

    千次阅读 2017-10-07 10:37:08
    不同于普通方法,构造方法(器)不能是abstract, static, final, native, strictfp, 或者synchronized的。
  • Java构造方法的相互调用

    千次阅读 2018-11-29 17:01:10
    Java中,当给一个类创建了多个构造方法时,有时想在一个构造方法中调用另一个构造方法以减少代码量。这时可以使用this关键字来实现。 通常,当使用this关键字时,它意味着“这个对象”或者“当前对象”,并且它...
  • 下面是关于父类构造方法调用的实验:当父类子类都没有定义构造方法时,系统为父类、子类提供一个无参构造方法,并在子类中隐式调用父类无参构造方法:class Father {} class Son extends Father {}我们可以自己写...
  • java构造方法的调用顺序

    千次阅读 2017-10-14 19:36:47
    java中,通常需要在继承的子类与父类之间的关系中,创建对象,这时我们需要对构造方法的调用顺序相当了解  1. 在构造子类之前,会先调用父类的默认空参构造方法,再调用子类本身对应的相应参数个数的构造方法。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,211,412
精华内容 484,564
关键字:

java构造方法

java 订阅