java中对象是咋搞的(构造器)

33 篇文章 0 订阅
31 篇文章 0 订阅

在java中搞对象???

哈哈哈,先皮一下,关于java中的对象,我一直好奇,咋就一new就有了,我这么多年都没…百思不得其解。但是最近,我好像懂了一丢丢,所以分享下,如有不对的理解,还希望大佬们指点一二,不懂一个东西用着真的难受哎…
一构造器的引入:
对象的产生与类的结构之一构造器密不可分,我们都知道new对象的方式,但是,new下的对象在哪呢???其实叭,若我们在类中只是创建了方法和属性,而未创建构造器,但是我们new了对象,那系统会默认一个空参的构造器。
如下:类的创建:

public class delete {
    int age;
    String name="LENJIAER";

    public void ager(int num){
        System.out.println("小明今年"+num+"岁了");
    }
    public String namer(){
        System.out.println(name);
        return name;
    }
}

new对象:

public class using {
    public static void main(String[] args) {
        delete hero=new delete();
        hero.ager(20);
        hero.namer();
    }
}

new完了后我们就可以使用这对象了,但是我们没有创建构造器,虽然可以,但是我们不知道new在何处了,接下来我就写出完全体!!!
如下:

public class delete {                      
    int age;                               
    String name="LENJIAER";                
                                           
    public delete(){                       
    }          //空参构造器                    
    public void ager(int num){             
        System.out.println("name is "+num);
    }                                      
    public String namer(){                 
        System.out.println(name);          
        return name;                       
    }                                      
}                                          

再new对象并调用时结果不会改变的,这里相对于上一个例子我新加的就是一个空参的构造器。创建格式就是:
权限修饰符+类名(形参列表){ }

二.构造器的体现(即存在意义):
构造器的作用:1.创建对象(上面说的就是创建对象);2.初始化对象的属性。

public class delete {                                 
    int age;                                          
    String name="tom";                                
                                                      
    public delete(){                                  
                                                      
    }                                                 
    public delete(int n,String cha){                             
         age=n;  
         name=cha;            //用构造器给属性赋值              
    }                                                 
    public void ager(int num){                        
        age=num;               //方法赋值                       
        System.out.println(age);                      
    }                                                 
}                                                                                                                                                                                                   
public class using {
    public static void main(String[] args) {
        delete hero=new delete();
        hero.ager(20);        //new了对象后再赋值
        delete superhero=new delete(1000,"LBW");  //直接在new时候就赋值
        System.out.println(superhero.age+superhero.name);
    }
}

细心的小伙伴会发现,构造器的优势来了,如果我们只是new以下对象,但是我们需要给属性赋值时,我们需要调用赋值的方法,但是,我们有了构造器后,就可以在new对象时给它一次就赋值好.比如:上述的对象superhero在new对象时给了1000,那么该对象的age==1000了,不再需要调用ager来赋值了。也就是说,一个构造器可以支持所有属性的进行赋初始化值,不同的新对象都可以在创建时调用,以方便给该对象中的需要赋值的属性赋值。(其实,构造器也是方法的一种)

老规矩,使用的注意点如下:
1.一般在开发中,会给类的属性下加一个空参构造器。
2.一个类中定义了多个构造器,彼此构成重载,而且那个更符合new的对象,对象就会选择哪个构造器。
3.一旦我们显式的定义了类的构造器后,系统就不再提供默认的空参构造器了。
4.一个类中至少一个构造器,你没给,系统会给的,(反正这对象总不会孤独,非得找个构造器,酸了酸了…)

最后,关于构造器,我想说的是:构造器是便于我们new多个对象时候赋初始的属性值(支持赋值不同)的和造对象的。如有不对,还望大佬们指点一二,大家一起进步。嘿嘿

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值