构造函数 ,普通函数

1.任何函数都可用作构造函数---------只要这个函数使用new运算符做为前缀来创建了新的实例 eg;  ver tony = new Person();     Person()就成为了构造函数

2.构造函数的命名规则:驼峰命名+首字母大写   eg:   CoolPerson()

3.调用构造函数的区别两种区别

        1)标准写法:ver tony = new Person(); 

              使用了new运算符;

              如果没有形参,还可以去掉括号,写成  ver tony = new Person; 

              默认情况下,如果构造函数中没有返回任何内容,就会返回this(也就是一般教程里说的“当前的上下文”),要不然返回任意非原始类型的值(意思是返回值不是形参,而是调用时使用的实参)

       2)省略new前缀的方式调用构造函数

             例如:Person('tom');

             与标准写法不同的是:tom不是Person的实例;上面的这个写法并没有构建出一个Person的实例,所以可以这么理解:



             ver tony = new Person(); //标准写法
             Person('tom');                   //省略了new的写法


             如果我们是上帝,有了创造人类的模型Person();


             tony就是我们创造出的一批人,假设他们都叫tony,tony掌握了人类模型Person()中所有的或一些属性;

             重要的是他们都住在tony大家庭里(像王家庄,李家庄);

             ①如果我们想要找到具有某些属性的一批人,我们就可以不从所有的Person()中找,那范围太大了,我们可以从tony的大家庭里的找到需要的人;

             ②找到tony的大家庭后我们可以说:看,这是我创造的人中,所有叫做tony的人,都在这;

           

             而:

             tom是我们创造出的人中,所有叫做tom的人,但是他们住的很分散,没有住在一起,

             虽然tom同样具有Person()的所有或一些属性,但是当我们想找到具有某些属性的人的时候,却无法从tom的大家庭中中找到,

             ③而必须先从所有人中找叫做tom的人,并且是我们需要的人;

             ④我们每找到一个叫做tom的人,都不可以说,看,这是我创造的人中,所有叫做tom的人,他只是一个人,不能代表全部人;

           

             解释:

             ①和③说明标准写法在tony内部创造了局部变量,被外界污染的可能性很小;省略new的写法则创建了全局变量,很有可能被外界污染

             ②和④说明标准写法下tony是Person()的一个实例;而tom不是


            



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值