真心不知道为什么不能调用,求老师解答

qq_6m2anbpr 走进PHP后端工程师的世界 最后由 极客学院_ASMITA 于2015年06月18日回复

  • 4 回答
  • 2.6k 浏览

class person{       //定义一个类型叫person 

    private $name ='张三',$age=18;    //定义一个私有的不能再外界使用成员

    

    static function f1(){    //定义一个静态函数f1()

        echo self::setName('李四');  //说明了self也可以用来调用静态变量。

        

        //echo $shis->name;   //调用this, this->name就是指调用自身成员。

    }

 /**

     * @param string $name 

     */

   /* public function setName($name)   //定义一个私有的函数只能在内部使用

    { 

        echo $this->name = $name;    //输出 this->name =$sname只带的上一个私有函数。

    }*/

    PUBLIC FUNCTION setNmae($name){  //函数名都可以使用大写字母,不区分大小写。但是变量名不可以

       // $this->name=$name

        FOR(;false;);  //三个表达式,如果是false则执行echo'ok'

        echo 'ok';

    }

}

//$p1 = new person();  //new是实现调用的累。

//$p2 = new person();

 //echo '
';   //换行。

 //$p1->setName('李四');  //指代echo。调用echo。

 /*echo '
';

 $p2->setName('王五');*/

 person::setNme('aaaa');   

  • 极客学院_ASMITA 2015年06月18日 回答 #3楼
  • ::是在不实例化的情况下(就是不用new的情况下)调用类中的静态变量或者静态方法

    你这样写虽然看到结果也会执行,但是会报错

    最好的是static function,static 变量,这样调用才是合法的

  • 0 评论
  • 极客学院_ASMITA 2015年06月18日 回答 #4楼
  • QQ截图20150618204300.png

    QQ截图20150618204310.png

    代码写成这样看的会更加清楚

    <?php  

    class person{       //定义一个类型叫person  

        private $name ='张三';    //定义一个私有的不能再外界使用成员

         

        static function f1(){    //定义一个静态函数f1()

            echo self::setName('李四');  //说明了self也可以用来调用静态变量。

        }

        public static function setName($Name){  //函数名都可以使用大写字母,不区分大小写。但是变量名不可以

            echo $Name;

        }

    public function setName2($Name){  //函数名都可以使用大写字母,不区分大小写。但是变量名不可以

            echo $Name;

        }

    }

    person::setName('setName');

    echo " <br/ > <br/ > <br/ >";

    person::setName2('setName2');

    ? >

  • 0 评论