• 技术文章 >Java >java教程

    java构造器是什么?

    青灯夜游青灯夜游2020-09-18 08:57:15原创15637

    构造器也叫构造方法、构造函数,是一种特殊类型的方法,负责类中成员变量(域)的初始化。构造器的用处是在创建对象时执行初始化,当创建一个对象时,系统会为这个对象的实例进行默认的初始化。

    什么是构造器

    1.构造器,也称构造方法、构造函数。作用是构造出来一个类的实例,确保对象得到初始化。

    2.构造器的格式: 权限修饰符 类名(无参/有参){}。

    3.根据有无参数,可分为无参构造 和有参构造。

    构造器最大的用处就是在创建对象时执行初始化,当创建一个对象时,系统会为这个对象的实例进行默认的初始化。如果想改变这种默认的初始化,就可以通过自定义构造器来实现。

    构造器可以用来在初始化对象时初始化数据成员,一个类可以有多个构造器。一个类的构造器的名称必须与该类的名称一致。要退出构造,可以使用返回语句“return;”

    构造器的特性

    1.与一般方法名不同的是,构造方法名必须和类名保持一致,并且没有返回值,甚至连void都没有。

    2.Java编译器会自动创建无参构造函数,因此在类中,无参构造即使没有,我们也可省略不写。实例化对象时无需赋值

    3.倘若类中已存在有参构造函数,则编译器不再提供默认无参构造。实例化对象时需赋值,不然报错。

    4.当类实例化一个对象时会自动调用构造方法。

    5.不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承

    6.每个类可以有零个或多个构造方法.

    示例一:无参构造

    学生类

    public class Student {
       //权限修饰符是public,表示内部属性能被其他类访问到。若使用private,则需要set/get才能访问
       public String name;
       public int age;
    
       //无参构造,编译器自带,可不写。
       public Student(){
           System.out.println("括号内无参数,这就是无参构造");
       }
    }

    测试类

    public class Test  {
        public static void main(String[] args)  {
            Student st = new Student();//创建对象,括号内无需赋值
            //没赋值的情况下,字符类型默认值为null,数值类型默认值为0
            System.out.println(st.name+" "+st.age);//null,0
    
            //对属性进行赋值
            st.name="Tom猫";
            st.age=5;
            System.out.println(st.name+"今年"+st.age+"岁了");
        }
    }

    结果

    括号内无参数,这就是无参构造
    null 0
    Tom猫今年5岁了

    示例二:有参构造

    学生类

    public class Student {
       //权限修饰符是public,表示内部属性能被其他类访问到。若使用private,则需要set/get才能访问
       public String name;
       public int age;
    
       //无参构造最好也写上
       public Student(){
    
       }
       public Student(String name,int age){
           System.out.println("括号内有参数,就是有参构造");
           //将形参变量的值,赋给成员变量。
           this.name = name;
           this.age = age;
         //this.name = "吴邪"  若直接在构造方法内部赋值,则优先执行其内部的值,即吴邪会替掉Tom猫
    
       }
    }

    测试类

    public class Test  {
        public static void main(String[] args)  {
            //创建对象。赋值后,定义的值会传递给构造器中的形参变量。
            Student st = new Student("Tom猫",5);//创建对象,须在括号内赋值,不然报错
            //使用对象调用成员变量(java对象只能调用成员变量)
            System.out.println(st.name+"今年 "+st.age+"岁了");
        }
    }

    结果

    括号内有参数,就是有参构造
    Tom猫今年5岁了

    以上就是java构造器是什么?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:java 构造器
    上一篇:java异或什么意思? 下一篇:java中的indexOf是什么意思
    Web大前端开发直播班

    相关文章推荐

    • java怎么添加图片• 什么是java单例模式?• java开发环境是什么• java过滤器有什么作用

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网