zoukankan      html  css  js  c++  java
  • 黑马程序员——JAVA基础之构造函数,构造代码块

    ------- android培训java培训、期待与您交流! ----------

    构造函数特点:
    1.  函数名与类名相同
    2.  不用定义返回值类型
    3.  不可以写return语句


     

    构造函数的作用:可以用于给对象进行初始化。 


     

    注意:
    1.  默认构造函数的特点。
    2.  多个构造函数是以重载的形式存在的。

    构造函数的小细节:

    对象一建立就会调用与之对应的构造函数。  

    当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数。 

    当在类中自定义了构造函数后,默认的构造函数就没有了。

    一个类中默认会有一个空参数的构造函数,这个默认的构造函数的权限和所属类一致。
    如果类被public修饰,那么默认的构造函数也带public修饰符。
    如果类没有被public修饰,那么默认的构造函数,也没有public修饰。
    默认构造构造函数的权限是随着的类的变化而变化的。

     

    构造函数和一般函数的区别: 

    构造函数和一般函数在写法上有不同。在运行上也有不同。 

    构造函数是在对象一建立就运行。给对象初始化。 

    而一般方法是对象调用才执行,给是对象添加对象具备的功能。 

    一个对象建立,构造函数只运行一次。而一般方法可以被该对象调用多次。

    什么时候定义构造函数呢? 

    当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定义在构造函数中。 

    /**
    * 构造函数的演示
    *
    */
    
    class Person
    {
    	private String name;
    	private int age;
    
    	Person()
    	{
    		System.out.println("A: name="+name+",age="+age);		
    	}
    	
    	Person(String name)
    	{
    		this.name=name;
    		System.out.println("B: name="+name+",age="+age);
    		cry();		
    	}
    	
    	Person(String name,int age)
    	{
    		this.name=name;
    		this.age=age;
    		System.out.println("C: name="+name+",age="+age);
    		cry();
    	}
    
    	public void cry()
    	{		
    		System.out.println("cry......");
    	}
    }
    
    class  PersonDemo
    {
    	public static void main(String[] args) 
    	{
    		Person p1 = new Person();
    		Person p2 = new Person("lisi");
    		Person p3 = new Person("lisi",10);		
    	}
    }
    


    构造代码块:

     

    格式:

       {

          ...............

       }

     

    构造代码块作用:

    第一,可以对成员变量进行初始化
    第二,通常情况下默认的无参数的构造代码块是创建对象必须使用的。
    第三,可以对创建对象提供多种方式,即构造函数重载

     

    构造代码块特点:对象一建立就运行,而且优先于构造函数执行。 

     

    构造代码块和构造函数的区别: 

      构造代码块是给所有对象进行统一初始化, 而构造函数是给对应的对象初始化。 

      构造代码快中定义的是不同对象共性的初始化内容。 

    ------- android培训java培训、期待与您交流! ---------- 

  • 相关阅读:
    Android 操作系统的内存回收机制(转载)
    如何减少代码中的分支语句
    Android中动画学习
    Android中 AsyncTask
    Linux安装后更新系统
    看百度宣传片
    可爱的linux mint 11
    ubuntu 修改root密码
    SHA256加密算法封装[我的代码库]
    使用maven,svn和CruiseControl做持续集成
  • 原文地址:https://www.cnblogs.com/runwind/p/4212209.html
Copyright © 2011-2022 走看看