为什么我不能这样做?
<?php
class A {}
class B {
public $a = new A();
}
我得到:
致命错误:常量表达式包含无效操作
这有什么办法吗?
定义属性时不能使用那样的表达式,但可以在构造函数中设置属性:
class B {
public $a;
public function __construct()
{
$this->a = new A();
}
}
null
// Create an interface
interface AInterface {
// add all required method signatures
}
// Make class A implement that interface
class A implements AInterface {
// implementations of the methods in the interface
}
// Make class B accept the interface in the constructor
class B {
public $a;
public function __construct(AInterface $a) {
$this->a = $a;
}
}
然后,当您创建类B时,您将传递依赖项:
$b = new B(new A());
这样做的原因是,只要类A实现了相同的接口,您就可以将类A的实现交换给其他类,这样更容易更改实现和模拟您的类(在编写测试等时)。
为了使依赖项的传递不那么麻烦,您可以使用
依赖项注入容器。
简而言之,我创建了一个类Something witch具有一个带有JFrame的函数,其中我有一个标签和一个按钮。在按钮上有一个addActionListener(new changeLabel())。我在src包中为侦听器类了changeLabel,但当我启动应用程序并单击按钮时,在changeLabel上抛出一个NullPointerException NameLabel.setText(“N
问题内容: 我有类似的东西: 现在,我想用另一个JSON结构值替换“我的英语标题” 。 我尝试了: 但这是行不通的。任何人都可以给我提示如何在JSON变量中获取JSON值? 编辑:这是使用Jquery的上下文菜单,但是我在下面的所有解决方案中都遇到了问题,这是时候传递分隔符的字符串了。它不显示分隔符,因为它将字符串而不是仅字符串传递给对象。 例: 问题答案: 解决您的修改。尝试以下
我有两个Java类,Product和ProductReview。ProductReview除了变量long id和String review外,还有一个名为Product的变量,该变量应包含类Product中的一个对象。例子: Products类有私有变量long id、String name和List评论(它也从Product评论类中获取评论)。产品类与Product评论有一对多的关联,反之亦然
我已经编写了这个预期输出的代码: 输入样本: 输入乘客姓名:Priya 输入性别(M或F/m或f):F 输入年龄:61 请输入票号:140 输入票价:500.0 示例输出1: 票号:143 乘客姓名:Priya 一张票的价格: 500.0 总金额: 375.0 我必须根据我所写函数的年龄和性别来更改总量值。 我的代码: Person.java BusTicket.java TestMain.jav
问题内容: 我总是理解静态变量在被引用时共享一个实例。我想对此进行测试,但结果与我预期的不同。 输出: 柜台:1 测试:0 由于引用我认为,当我增加那么将自动以及递增。但是,似乎是从某处引用,问题是在哪里? 问题答案: 由于引用 这个假设是错误的。在Java中,您不能引用变量。变量中存储的是一个值。该值可以是原始类型值或引用类型值。对于基元,值是基元的值。对于引用类型, 引用值(通常只是引用)是指
问题内容: 我在用Java工作。 我通常会这样设置一些对象: 问题是:在此示例中是否等于,按原样我可以假定对未初始化的对象进行空检查将是准确的? 问题答案: 正确,未显式初始化的引用类型的静态成员和实例成员都由Java 设置为。相同的规则适用于数组成员。 根据Java语言规范的第4.12.5节: 变量的初始值 程序中的每个变量在使用值之前都必须具有一个值: 每个类变量,实例变量或数组组件在创建时均