>  Q&A  >  본문

构造函数不可以私有化吗?

这个为什么会报错?

<?php
class A{  
public $a=2; 
 private function __construct(){      
$this->a=4;  }}
$obj =new A();
echo $obj->a;


phpcn_u700phpcn_u7002808일 전1313

모든 응답(2)나는 대답할 것이다

  • 数据分析师

    数据分析师2017-10-01 00:15:32

    건설사를 민영화할 수는 없나요? -PHP 중국사이트 Q&A - 건설사는 민영화 안되나요? -PHP 중국어 홈페이지 Q&A

    꼭 보고 배워보세요.

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-02-10 11:30:53

    构造函数私有化后,不能再使用 new 外部调用,私有方法只能类内部使用。

    可以这样:

    <?php
    class A {  
    public $a = 2;  
    private function __construct(){      
    $this->a=4;  }  
    public static function createInstance() {   
       return new A();  }}
    $obj = A::createInstance();


    회신하다
    0
  • 취소회신하다