精华内容
下载资源
问答
  • (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有参构造方法无参构造方法详解

    千次阅读 多人点赞 2020-12-09 12:05:16
    一:有参数构造方法 在之前我们要为一个对象赋值,先要创建好对象之后然后“对象名.属性名”或者调用属性的setter为属性赋值。但是在很多时候觉得这样做很麻烦,最好的做法是在创建对象的时候完成属性的初始化操作...

     

    一:有参数构造方法

    在之前我们要为一个对象赋值,先要创建好对象之后然后“对象名.属性名”或者调用属性的setter为属性赋值。但是在很多时候觉得这样做很麻烦,最好的做法是在创建对象的时候完成属性的初始化操作,此时需要使用到有参数构造方法方能完成该功能(有人把构造方法叫做构造器)。

     

    DEMO:定义有参数构造方法

    上面定义了四个有参数构造方法,发现了构造方法可以重载,

    书写的习惯是重载的构造方法按照参数的个数进行升序排序。但是如何去调用有参数的构造方法呢?

     

    DEMO:调用有参数构造方法

    此时发现了我们不需要像之前一样,要为对象的属性赋值就必须先创建对象再使用“对象名.属性名”或者使用setter 方法去实现了,而是直接使用有参数的构造方法去实现。

     

    DEMO:继续观察代码

    此时提示“这个无参数构造Student()方法未定义”,在之前我们说了JVM会默,认为类提供无参数构造方法,但是这只能是在没有任何有参构造方法的条件下,现在我们定义了四个有参数构造方法(JVM认为你不需要无参数构造方法了),所以JVM不再提供无参数的构造的构造方法了。

    所以我们定义 了有参数构造方法那么也需要显示的定义出无参数构造方法。

     

    DEMO:显示定义无参数构造方法

     

    总结:

    1、构造方法的出现是为了方便为对象的属性初始化值

    2、一般在类中构造方法的顺序都是按照参数的个数去升序排序的

    3、如果定义了有参构造方法那么JVM就不会在提供无参数构造了,所以如果我们定义了有参构造那么无参构造也要显示的定义出来。

     

    二:Java无参构造方法

     

    一:构造方法给的概念

    在之前我们使用过方法,在调用的方法的是时候需要在方法名称之后加.上小括号,括号里面可以传递实参,那么我们在创建一个对象的时候使用的是“new类名()”的方式去实现,其实上这也是一种方法,但是这个方法我们没有明确的去定义,那为什么可以调用呢?观察代码。

    DEMO:观察代码

    以上的代码在创建的对象的时候使用“Student()”,发现了在“Student”之后使用小括号,这和方法的调用很相似,其实“Student()”就是-一个方法,是一个特殊的方法-构造方法,发现了构造方法的名称和类名一样,而且一定是在new关键字之后调用的。但是我们没有在Student类中看到这个方法依然能够调用,原因是JVM(Java的虚拟机,暂时不用管,你就认为是系统,后面我们讲解JVM内存模型的时候会分析)系统默认为该类提供了无参数构造方法,所以我们才能调用。

    我们也可以显示的将该方法定义出来。

    DEMO:显示的定 义构造方法

    此时我们显示的定义了一个五参数构造方法,构造方法是在什么时候调用的呢?如何很明显的看出调用了构造方法?

    DEMO:观察构造方法调用的时机

    总结:

    1、构造方法的概念(构造方法的出现是为了在实例化对象的时候可以为对象的属性初始化值)。

    2、默认jvm会为每个类提供一个无参数构造方法。

    3、构造方法的特征和它与普通方法的区别你要清楚。

     

     

    学习不要走马观花的学,每个知识重点大纲,就是学习路线都是根据每一天市场上多数公司用到的新技术整理,在学习的时候还需要结合练习题来做这里的话我也将我之前在学习过程中用到的一些学习资料整理成了文档,以及我自身之前的一个面试文案和知识点补充,有需要的朋友可以加我的QQ群   697888503   ,这里也希望大家最终都能够学有所成,学习编程不是一天两天的功夫,勤能补拙才是硬道理,祝大家最终都能成为一名合适开发攻城狮。 

    展开全文
  • 无参构造方法的作用

    2021-01-08 11:22:33
    无参构造方法的作用 1.无参构造方法一般是用来初始化:如为变量赋处置,初始化对象等。 2.无参构造方法可以去除,JAVA会给每个类一个默认的无参构造方法;当一个类中若存在有参构造方法,若想再使用参的构造方法,...
  • [Java基础]-- 有参构造方法无参构造方法

    万次阅读 多人点赞 2016-03-03 15:06:44
    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”,'地球村');

    }

    二、有参构造方法

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

     

     

     

    展开全文
  • 无参构造方法

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

    /*默认的无参构造方法
     * 1,构造方法名称和类名一样
     * 2,构造方法没有返回值,不能加上void
     * 作用:完成成员变量的初始化*
     * 
     * 带参数的构造方法,完成成员变量的赋值*/

    public class Student {
    //直接在类中定义:成员变量
    //私有属性 在其他程序里面不能访问,
    private String name;//String 引用类型
    private char sex;
    private int age;
    private String moblie;
    //定义一个方法
    public Student(){
    System.out.println("默认的构造方法");
    }
    public Student(String _name,char _sex,int _age,String _moblie){
    name=_name;
    sex=_sex;
    age=_age;
    moblie=_moblie;
    }
    public void introduce(){
    System.out.println("我的手机号是"+moblie);
    System.out.println("我的姓名是"+name);
    System.out.println("性别"+sex);
    System.out.println("年龄"+age);
    }

    public void study(){

                    System.out.println("我在学习");

    }


    }


    test测试程序

    public class Test {


    public static void main(String[] args) {
    // TODO Auto-generated method stub
    //构造方法,使用new关键字创建一个对象(实例化对象)
    Student stu1 = new Student("张三",'男',23,"135846795");
    //访问对象的方法:对象.方法名
    stu1.introduce();
    Student stu2= new Student("李四",'男',22,"159978563");
    stu2.introduce();
    Student stu3 =new Student();
    stu3.introduce();



    }


    }

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

    万次阅读 多人点赞 2018-10-29 11:16:29
    Java有参构造方法无参构造方法 1**、定义:** 编写一个类时没有添加无参构造方法,那么编译器会自动添加无参构造方法;(如果自己添加构造函数,无论有参数或是没参数,默认构造函数都将无效) 编写时添加了有...
  • 在对对象成员变量初始化时,有输入时,通过有参构造方法进行赋值。当没有输入时,可以给个初始值,就通过参写入默认的,参调有参...// main方法中 new调用无参构造方法,再完成上面的参调有参 new 类名(); ...
  • 图1为父类的无参构造方法和有参构造方法,若是将无参构造方法删除,则子类的有参构造方法会报错。 如图2 ![图片说明](https://img-ask.csdn.net/upload/201907/30/1564493578_27738.jpg) 百度后听说父类...
  • 参构造方法:alt+ins选择Constructor 无参构造方法:alt+ins选择Constructor然后选择下方的SelectNone
  • 构造方法的定义: 构造方法时专门用来创建对象的方法。new就是调用构造方法。 如何定义一个构造方法,格式: public 构造方法名(参数类型 参数名称) { 方法体 return;//通常最后一行return省略不写 } 调用...
  • java构造方法:有参构造方法无参构造方法 一、无参构造方法 1、定义: 如果编写一个javaBean时没有添加无参构造方法,那么编译器会自动添加无参构造方法; 但是如果编写时添加了有参构造方法而未添加无参...
  • C#无参构造方法

    千次阅读 2019-05-31 13:17:23
    *如果没有显示定义构造方法,则会有一个默认的无参构造方法 *如果显示定义了构造方法,则没有默认构造方法 *只能用new 方法名()的形式调用构造方法 *构造方法通常声明为public *构造方法没有返回值类型 *...
  • Java无参构造方法的作用

    千次阅读 2021-06-11 02:26:04
    无参构造函数,主要用于在子类创建对象时使用,java程序在执行子类的构造方法之前,会去调用父类构造方法,可以显示的指定super()某一个父类构造函数,如未显示指定 super(), public class Chinese extends Person ...
  • Java无参构造方法的作用 class Person{ private String name ; // 表示人的姓名 private int age ; // 表示人的年龄 public void tell(){ // 定义说话的方法 System.out.println(“姓名:” + this.getName() + “,...
  • 如果父类拥有无参构造方法(无论隐式的还是显式的)且子类中的构造方法又没有明确指定调用父类的哪个构造方法,则子类中不必调用该子类其它构造方法的构造方法使用super()隐式调用父类的无参构造方法,...
  • 如果没有自定义的构造方法,会自动提供一个无参构造方法,但是一旦定义了构造方法,就不会提供无参构造方法, 这个时候如果想要使用的话需要自己创建。 ...
  • Java子类实例化总是默认调用父类的无参构造方法

    万次阅读 多人点赞 2018-12-06 20:11:40
    子类实例化时,默认调用父类的无参构造方法(不管子类的构造器有没有参数,因为子类继承的是父类的属性和方法,只调用父类的参构造器就可以继承父类的属性和方法,因此不会调用父类的有参构造器),再调用子类的有...
  • 只添加@Data注解时,查看class文件发现只有无参构造方法 添加@AllArgsConstructor和@NoArgsConstructor两个,才能同时有无参和带参构造方法
  • java有参构造方法无参构造方法

    千次阅读 2017-05-15 16:52:03
    但是如果编写时添加了有参构造方法而未添加无参构造方法,那么编译器只认有参构造方法而不会默认添加无参构造方法, 所以,如果需要使用无参构造方法,一定要在类里面添加. 2、举例: (1)有4个...
  • java构造方法:有参构造方法无参构造方法   public class Student {  private String name;  private int age; public Student(){   } public Student(String name){  this.name=name; } public String ...
  • 面向对象(继承中构造方法的注意事项) A:案例演示(核心点在于子类构造方法中的第一句必须是父类的构造方法的执行,如果父类...父类没有无参构造方法,只有有参构造方法,子类怎么办? super解决: this解决 B:注...
  • 1.父类无参构造方法,子类不写,其实会默认调用父类的无参构造方法也就是用super()。 编译运行后,会打印出"子类会调用Father的第一个构造方法" classFather{ Father(){ System.out.println("子类会调用Father的...
  • 在维护旧代码的时候,由于以前创建类的时候是使用普通的new + 一系列的set方法去构建 需要构建的类如下,属性有缩减 @Data public class SearchCondition { private String years; private List<String> ...
  • 为什么java会默认提供无参构造方法

    千次阅读 2019-09-25 14:54:37
    小话题:大神勿喷众所周知,如果一个类中没有为其定义构造方法,那么它会默认提供一个无参构造方法,而你定义了有参构造方法以后,无参构造方法就没了?//定义一个Car类publ...
  • public class Father { //年龄 private int age;... //仅有一个带参数的构造方法 public Father (int i){ this.age = i; System.out.println("实例化父类 ag = " + age); } public Father

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 266,708
精华内容 106,683
关键字:

无参构造方法