Java构造函数或称之为构造器

构造函数 或称之为 构造器

   Buck bu=new Buck();

 new Buck(); 只要被 new 构造函数必然会被调用(实例化对象的过程)

 public class Buck(){
       public Buck(){
         //这是构造函数
        }
      }

       构造函数的名称必须于类名相同, 并且没有返回类型, 反之方法有返回类型即使是被void声明它也还是Method, 也可以设为public或private或不声明存取权即为默认default 。

        它(构造函数)是在赋值一个引用对象前就会被调用执行; 构造函数不被继承; 构造函数可以有多个, 有参为有参构造函数, 无参为无参构造函数; 平常我们在编写程序时即便不去创建构造器, Java编译器还是会隐式的创建一个无参的构造器, 但是只要是创建了构造器不管几个哪怕是一个, Java编译器都不会去创建; 创建构造器时建议创建构造器就创建两个也可以更多, 一个有参一个无参(构造器), 如果一个类有一个以上的构造函数, 这代表它们也是重载(什么是重载), 假设调用有参

Music(int music){}//有参构造器

构造器,那构造器Music(int music)创建对象时

Music m = new Music(5);//实例化一个 m 对象

就会覆盖掉其他的构造器; 刚才说了构造器可以有多个, 但参数一定能不一样, 也包括顺序与类型顺序也不能一样, 编译器看的是参数的类型与顺序, 哦对还有个数。

   public A(String name,int ext){}
   public A(String name,int ext){
        //这样写是有冲突的
        //不能同一个class中出现两个一模一样的
   }
   public A(String name,int ext,String gender){
        //这是可以的
   }
   public A(int ext,String name){
       //这也没毛病
   }
   A(){
       //同样可以
   }

 那么构造器有什么用那:

        某种对象不应该在状态被初始化之前就调用(实例变量未被赋值. 什么是实例变量?), 就别让任何人在没有初始化的情况下取得该对象(只给该对象声明一个或多个有参构造函数); 假设在B class中调用A的实例成员 OR Method, 那么就必须实例化一个A的对象, 

A a = new A();//实例化一个对象

但A中实例变量只是声明没有赋值, 假设A中的Method需要到的实例变量, 但是没有给它值, 也就无法使用了, 但是可以在构造函数中对实例变量赋值, 然后初始化对象时必须传入实参(记得关注有几个形参)

A a=new A("嘿嘿",19);

                                                                                                                若有错误,还望留言指教                                                                                                               您的指点是我不断提升的基石 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值