精华内容
下载资源
问答
  • @Data @Builder @NoArgsConstructor public class ResourceDetailsResVO { ...如果同时使用了@Data、@Builder,则无法添加此类的无参构造方法。无论是使用@NoArgsConstructor还是直接手动添加参构造器...

     

    @Data
    @Builder
    @NoArgsConstructor
    public class ResourceDetailsResVO {
        private Integer stat;
        private String msg;
    }

    如果同时使用了@Data、@Builder,则无法添加此类的无参构造方法。无论是使用@NoArgsConstructor还是直接手动添加无参构造器,在编译时都会报错。(图片是盗来的*……*)

        解决方案:
        同时使用:@NoArgsConstructor、@AllArgsConstructor,如下

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public class ResourceDetailsResVO {
        private Integer stat;
        private String msg;
    }

    具体原因还未深究。

    展开全文
  • Java有参构造方法无参构造方法

    万次阅读 多人点赞 2018-10-29 11:16:29
    Java有参构造方法无参构造方法 1**、定义:** 编写一个类时没有添加无参构造方法,那么编译器会自动添加无参构造方法;(如果自己添加构造函数,无论有参数或是没参数,默认构造函数都将无效) 编写时添加了有...

    Java有参构造方法和无参构造方法


    1**、定义:**
    • 编写一个类时没有添加无参构造方法,那么编译器会自动添加无参构造方法;(如果自己添加构造函数,无论有参数或是没参数,默认构造函数都将无效)
    • 编写时添加了有参构造方法而未添加无参构造方法,那么编译器只认有参构造方法而不会默认添加无参构造方法!
    • 如果需要使用无参构造方法,一定要在类里面添加
       
    2、举例:

    定义四个类(说明四种情况):

    类Person1 自己不手动添加任何无参或有参数构造方法            (实例化对象时:编译通过)

    类Person2 自己添加无参的构造方法                                        (实例化对象时:编译通过)

    类Person3 有参数的构造方法                                                   (实例化对象时:不通过)

    类Person4 自己添加无参的构造方法,和有参数的构造方法        (实例化对象时:编译通过)

    //定义类Person1   自己不手动添加任何无参或有参数构造方法
    
    class Person1{
        private int age;
        private String name;
        private String sex;
    
    }
    
    
    //定义类Person2   自己添加无参的构造方法
    
    class Person2{
        private int age;
        private String name;
        private String sex;
        
        public Person2(){
            System.out.println("无参构造方法被调用");
        }
    }
    
    
    //定义类Person3   有参数的构造方法
    
    class Person3{
        private int age;
        private String name;
        private String sex;
        
        public Person3(String name, String sex, int age ){
            this.name = name;
            this.sex = sex;
            this.age = age;
        }
    }
    
    
    //定义类Person4   自己添加无参的构造方法,和有参数的构造方法
    
    class Person4{
        private int age;
        private String name;
        private String sex;
        
        //不带参数的构造函数,可以被重载
        public Person4(){
            System.out.println("无参构造方法被调用");
        }
        
        //带参数对的构造函数
        public Person4(String name, String sex, int age ){
            this.name = name;
            this.sex = sex;
            this.age = age;
        }
    }
    
    
    public class ObjectInit_2 {
        public static void main(String[] args) {
            Person1 person1 = new Person1();//编译通过;①实例化Person对象    ②自动调用构造方法Person( )
    
            Person2 person2 = new Person2();//编译通过;打印: 无参构造方法被调用
    
    
            // 这样写,编译器会报错,原因是系统默认的无参构造方法被有参构造方法覆盖,编译器不能再提供无参构造方法
            Person3 person3 = new Person3();
    
            //Person4 person4 = new Person4();//编译通过;打印: 无参构造方法被调用
    
            Person4 person4 = new Person4("qzz", "man", 18);//编译通过;
        
    
        }
    }
    
    
                                                     2018.10.29/周一
                                                     by 922
    
    展开全文
  • (7)无参构造方法 & 有参构造方法

    千次阅读 2019-07-16 16:07:46
    3.只定义了有参构造方法,默认一个无参构造方法会消失,如果无参构造方法要用到,记得写出来 4.构造方法名字与类名一样 package cn.sg.up; /** * 掌握封装的概念以及应用 把内容都private(封装)起来,只提供...

    掌握构造方法
    1.不写: 默认有一个无参构造方法,只不过隐藏起来了

    2.构造方法支持重载

    3.只定义了有参构造方法,默认一个无参构造方法会消失,如果无参构造方法要用到,记得写出来
    4.构造方法名字与类名一样

     

     

    package cn.sg.up;
    /**
     * 掌握封装的概念以及应用
                把内容都private(封装)起来,只提供对外调用
     * 
     * @author Administrator
     *
     */
    public class Person {
        
        //对数据进行封装提供外部使用
        private String name;
        private int age;
        private char sex;
        private String address;
        private String job;
        
        
        
            //默认无参构造方法
            //构造方法的使用可以进行初始化操作
            

        //有参构造方法
        //构造方法支持重载
        //只定义了有参构造方法,默认一个无参构造方法会消失,如果无参构造方法要用到,记得写出来
        
      public Person(String name, int age, char sex, String address, String job) {
            super();
            this.name = name;
            this.age = age;
            this.sex = sex;
            this.address = address;
            this.job = job;
        }
      
        public Person() {
                super();
                
                
            }

        //鼠标右键Source - Generate Getter and Setter
        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;
        }
        public char getSex() {
            return sex;
        }
        public void setSex(char sex) {
            this.sex = sex;
        }
        public String getAddress() {
            return address;
        }
        public void setAddress(String address) {
            this.address = address;
        }
        public String getJob() {
            return job;
        }
        public void setJob(String job) {
            this.job = job;
        }
        @Override
        public String toString() {
            return "Person [name=" + name + ", age=" + age + ", sex=" + sex + ", address=" + address + ", job=" + job + "]";
        }//鼠标右键Source - Generate toString
        
        
        

    }

     

     

     

    package cn.sg.up;

    public class Demo02 {
        public static void main(String[] args) {
            //调用有参构造方法
            Person person = new Person("www",123,'男',"12344","154");
            System.out.println(person);
            
            
            //调用无参构造方法
            Person person1 = new Person();
            person1.setName("7444444");
            System.out.println(person1.getName());
        }
        

     

    程序运行:

     

     

     

    Author:枫叶

    展开全文
  • java有参构造方法无参构造方法

    千次阅读 2017-05-15 16:52:03
    但是如果编写时添加了有参构造方法而未添加无参构造方法,那么编译器只认有参构造方法而不会默认添加无参构造方法, 所以,如果需要使用无参构造方法,一定要在类里面添加. 2、举例: (1)有4个...

    一、无参构造方法

    1、定义:

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

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

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


    2、举例:

    (1)有4个javaBean --------> Person1.java、 Person2.java Person3.java Person4.java

    public void Person1{

    private String name;

    private String adrress;

    }


    public void Person1{

    private String name;

    private String adrress;

    //无参构造方法

    public Person(){} 

    }


    public void Person1{

    private String name;

    private String adrress;

    //有参构造方法

    public NoParamInfo(String name,String address){

    this.name=name;

    this.address=address;

    }

    }

    public void Person1{

    private String name;

    private String adrress;

     //无参构造方法

    public Person(){}

    //有参构造方法

    public Person(String name,String address){

    this.name=name;

    this.address=address;

    }

    }


    (2)测试

    @Test

    public void testNoParamInfo(){

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

    Person1 p1=new Person1();

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

    Person2 p2=new Person2 ();

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

    Person3 p3=new Person3 ();

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

    Person4 p4=new Person4();

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

    Person4 p4=new Person4 (“tom”"地球');

    }


    总结: 

    1. 在没有构造方法时,系统默认调用无参构造方法

    2. 一旦定义有参构造方法,系统不再提供默认构造方法.

    3. 如果定义了有参,最好在定义一个无参.

    展开全文
  • Java有参构造方法无参构造方法详解

    千次阅读 多人点赞 2020-12-09 12:05:16
    但是在很多时候觉得这样做很麻烦,最好的做法是在创建对象的时候完成属性的初始化操作,此时需要使用到有参数构造方法方能完成该功能(有人把构造方法叫做构造器)。 DEMO:定义有参数构造方法 上面定义了四...
  • 无参构造方法和有参构造方法的调用
  • java构造方法:有参构造方法无参构造方法   public class Student {  private String name;  private int age; public Student(){   } public Student(String name){  this.name=name; } public String ...
  • 参构造方法:alt+ins选择Constructor 无参构造方法:alt+ins选择Constructor然后选择下方的SelectNone
  • 构造方法时专门用来创建对象的方法。new就是调用构造方法。 如何定义一个构造方法,格式: public 构造方法名(参数类型 参数名称) { 方法体 return;//通常最后一行return省略不写 } 调用构造方法的格式就是...
  • 为什么要有无参构造方法参构造的运行原理

    万次阅读 多人点赞 2019-09-02 23:00:16
    参构造器也叫无参构造方法,在我们创建类时候,可以不用写构造方法,因为系统会默认给我们提供一个无参构造方法,如果我们自己写了无参构造方法,那么我们这个就将默认的覆盖了。 (这时候你可能回想,既然会默认...
  • 无参构造方法

    千次阅读 2017-09-22 09:08:06
    /*默认的无参构造方法  * 1,构造方法名称和类名一样  * 2,构造方法没有返回值,不能加上void  * 作用:完成成员变量的初始化*  *   * 带参数的构造方法,完成成员变量的赋值*/ public class Student ...
  • 无参构造方法的作用

    千次阅读 多人点赞 2020-04-15 16:37:54
    无参构造方法的作用 1.无参构造方法一般是用来初始化:如为变量赋处置,初始化对象等。 2.无参构造方法可以去除,JAVA会给每个类一个默认的无参构造方法;当一个类中若存在有参构造方法,若想再使用参的构造方法,...
  • 如果父类拥有无参构造方法(无论隐式的还是显式的)且子类中的构造方法又没有明确指定调用父类的哪个构造方法,则子类中不必调用该子类其它构造方法的构造方法使用super()隐式调用父类的无参构造方法,...
  • Java中如何在无参构造方法中调用有参构造方法

    万次阅读 多人点赞 2016-08-10 14:27:14
    参数的扩展和构造方法的调用都是有一定的规律的。 有无参,多调少。。扩展参数的时候,最好保持原来的顺序。除非为了实现特殊的功能效果(个人以为主要是练基本功使用) 无参调有需要传实参!!package ...
  • 如果没有自定义的构造方法,会自动提供一个无参构造方法,但是一旦定义了构造方法,就不会提供无参构造方法, 这个时候如果想要使用的话需要自己创建。 ...
  • 定义参构造和有参构造方法

    千次阅读 2017-11-15 19:13:50
    public class h { String name; String sex; ... //定义无参构造方法 public h(String n,String s,int a){ //定义有参构造方法,参数为String n、String s、int a. name=n; sex=s; age=a; } v
  • Java子类实例化总是默认调用父类的无参构造方法

    万次阅读 多人点赞 2018-12-06 20:11:40
    子类实例化时,默认调用父类的无参构造方法(不管子类的构造器有没有参数,因为子类继承的是父类的属性和方法,只调用父类的参构造器就可以继承父类的属性和方法,因此不会调用父类的有参构造器),再调用子类的有...
  • 通过反射获取无参构造方法并使用

    千次阅读 2016-05-09 18:53:21
    通过反射获取无参构造方法并使用
  • 但是如果编写时添加了有参构造方法而未添加无参构造方法,那么编译器只认有参构造方法而不会默认添加无参构造方法 所以,如果需要使用无参构造方法,一定要在类里面添加 2、举例:public void text1 { private ...
  • Java无参构造方法的作用

    千次阅读 2021-06-11 02:26:04
    无参构造函数,主要用于在子类创建对象时使用,java程序在执行子类的构造方法之前,会去调用父类构造方法,可以显示的指定super()某一个父类构造函数,如未显示指定 super(), public class Chinese extends Person ...
  • 1.通过类的无参构造创建对象 当用最普通方式配置一个<bean>时,默认就是采用类的无参构造创建对象。在Spring容器初始化时,通过<bean>上配置的class属性反射得到字节码对象,通过newInstance()创建对象...
  • 创建对象的时候需要对属性值初始化,构造方法,即对象创建时要执行的方法。 要求在实例化的同时,就指定好name,和age的值。这就要用到构造方法。又叫做构造器Constructor. 二、构造方法的定义格式 构造方法在...
  • 反射带参与无参构造方法创建对象

    千次阅读 2018-07-29 09:45:48
     //利用反射创建无参对象  //Constructor<?> constructor = class1.getConstructor();  Constructor<?> constructor = class1.getConstructor();  Object newInstance = constructor.newInstance();    /...
  • 为什么java会默认提供无参构造方法

    千次阅读 2019-09-25 14:54:37
    小话题:大神勿喷众所周知,如果一个类中没有为其定义构造方法,那么它会默认提供一个无参构造方法,而你定义了有参构造方法以后,无参构造方法就没了?//定义一个Car类publ...
  • 再为这个类添加一个重载构造方法,令其接收一个字符串参数,并在这个有参构造方法中把"Hello Constructor"和接收的参数一起打印出来。 public class Day6{ public static void main(String [] args){ Te...
  • 步骤: 1.创建一个带默认构造方法(即参构造)的类,在...3.并在这个有参构造方法中把“Hello Constructor”和接收的参数一起打印出来 难点:匿名对象,this调用本类方法class one{ public one(){//参构造(1)
  • System.out.println("父类中的无参构造方法:"); } public void p() { System.out.println("父类中的方法"); } } class childs extends fathera{ public childs () { System.out.println("子类中的无参...
  • 下午跟着码项目的时候发现每一个构造器都输入了shift+alt+s了一个无参构造 诸如此类 就自己做了个实验 共有 GrandPa、Father和Son 3个类, 我现在在 main方法里 执行这条语句。Son son = new Son(); 控制台的输出...
  • 1、子类和父类同时具有有参和参的构造方法,子类有参构造方法中第一行写的有super.(xx),且子类实例化时用的是有参构造方法,那么此时不会先调用父类的无参构造方法,而是直接调用子类的有参构造方法; 2、子类和...
  • Java为什么要在类中声明一个无参构造方法

    千次阅读 多人点赞 2019-09-03 21:26:28
    Java中定义无参构造方法的意义 在Java程序编写中,子类的构造方法必定会调用父类的构造方法,如果在子类的构造方法中没有指定调用父类的哪个构造方法,在实例化子类对象时,子类会默认调用父类的无参构造方法。如果...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 176,220
精华内容 70,488
关键字:

创建无参构造方法