【发布时间】:2019-05-02 22:47:26
【问题描述】:
我想使用 Java 实现一个强大的 object composition 封装版本。我当前的 PHP 代码如下:
<?php
class Email {
private $subject;
private $body;
private $recipient;
public function __construct() {
$this->subject = new class {
public $text;
};
$this->body = new class {
public $text;
public $format;
};
$this->recipient = new class {
public $address;
};
}
public function setSubject($text){
$this->subject->text = $text;
}
//more getters & setters...
}
我在 Java 中尝试过,但没有成功:
public class Email {
private Subject subject;
private Body body;
private Recipient recipient;
public Email() {
this.subject = new Object() {
public String text;
};
this.body = new Object() {
public String text;
public String format;
};
this.recipient = new Object() {
public String address;
};
}
public void setText(String text){
this.body.text = text;
}
//more getters & setters...
}
JDK 错误指出 Object 类不包含“文本”属性。 那么,是否可以像在 PHP 中一样在 Java 中使用匿名类(没有类名?)
提前致谢。
【问题讨论】:
标签: java composition anonymous-class