美文网首页
构造方法

构造方法

作者: 临木有希 | 来源:发表于2018-07-28 12:01 被阅读0次

    (1)构造方法名称与类名相同,没有返回值声明( 包括void)(2)构造方法用于初始化数据(属性)
    (3)每一个类中都会有一一个默认的无参的构造方法
    (4)如果类中有显示的构造方法,那么默认构造方法将无效
    (5)如果有显示的构造方法,还想保留默认构造方法,需要显示的写出来。
    (6)构造方法可以有多个,但参数不一样,称为构造方法的重载
    (7)在构造方法中调用另一个构造方法,使用this(..),该句代码必须在第一句。
    (8)构造方法之间的调用,必须要有出口。
    (9)给对象初始化数据可以使用构造方法或setter方法,通常情况下,两者都会保留。
    (10)一个好的编程习惯是要保留默认的构造方法。 (为了方便--些框架代码使用反射来创建对象)
    (11) private Dog(){ },构造方法私有化,当我们的需求是为了保正该类只有一一个对象时。
    什么时候一个类只需要一一个对象?比如,工具类(没有属性的类,只有行为)并且该工具对象被频繁使用。权衡只用一一个对象与产生多个对象的内存使用,来确定该类是否要定义为只需要一一个对象。

    /**
        构造方法:构造方法是在类中定义的,构造方法的定义格式:方法名称与类名相同,无返回值类型的声明
        1.构造方法就是类构造对象时调用的方法,用于对象的初始化
        2.构造方法是实例化一个类的对象时,也就是new的时候,最先调用的方法 
    */
    
    public class Test3{
        public static void main(String[]args){
            Dog dog = new Dog();
            Dog dog1 = new Dog("小白",5);
            
        }
    }
    
    class Dog{
        
        //默认构造方法,通常有其他构造方法时,要保留默认构造方法
        public Dog(){
            System.out.println("构造方法执行了");
        }
        
        public Dog(String name){
            this.name = name;
            System.out.println("带一个参数的构造方法执行了");
        }
        
        public Dog(String name,int age){
            this(name);//调用其他构造方法时,此语句需要在第一句,在构造方法相互调用时必须要有出口
            //this.name = name;
            this.age =age;
            System.out.println("带两个参数的构造方法执行了");
        }
        
        
        
        private String name;
        private int age;
        
        public void setName(String name){
            this.name = name;
        }
    
        public String getName(){
            return name;
        }
        public void setAge(int age){
            this.age = age;
        }
        public int getAge(){
            return age;
        }
    }
    

    相关文章

      网友评论

          本文标题:构造方法

          本文链接:https://www.haomeiwen.com/subject/dzhomftx.html