陈校军
1,$h ->num1 =3; 你用jsp类实例化后的对象试图设置jsp类中num1属性的值为3,类中是不存在这个成员属性的。所以19, 20两行是多余的。 2,$h->add(3, 5)这个会去调用jsp里面的add方法,然后执行return语句jsp_::add(); 在jsp_ 这个类中add是非静态的属性,所以通过类名来调用是不对的。 而且jsp_ 类里面的add()方法里又有很多错误,一个是$this, 这个$this对象在哪[当前没有]。 "+" 你把php和java或javascript等语言弄混了吧,php里面用 "." 来连接两个变量。 还有n1, n2 在jsp_这个类里面没初始化,怎么会有值呢?4,要改的话:<?php
class jsp_{
public $n1;
public $n2;
public function add(){
return $this->n1.' '.$this->n2;
}
}
class jsp{
public function add($num1, $num2){
$jsp_ = new jsp_;
$jsp_ -> n1 = $num1;
$jsp_ -> n2 = $num2;
return $jsp_->add();
}
}
$h = new jsp;
echo $h -> add(3, 5);