In Java
public class Person {
String getName() {
return null;
}
public static void main(String[] args) {
Person person = new Person() {
@Override
String getName() {
return new String("big_sheep");
}
int getAge() {
return 20;
}
};
// illegal
// System.out.println("Name: " + person.getName() + "with age " + person.getAge());
// legal
System.out.println("Age: " + new Person() {
int getAge() {
return 20;
}
}.getAge());
// legal
Person person2 = new Person() {
@Override
String getName() {
return new String("big_sheep with age " + getAge());
}
int getAge() {
return 20;
}
};
System.out.println("Name and Age: " + person2.getName());
}
}
In Scala
object Test {
class Person {
def getName(): String = {
null
}
}
def main(args: Array[String]) = {
val person = new Person() {
override def getName(): String = {
"big_sheep"
}
def getAge(): Int = {
20
}
}
// legal
println("Name: " + person.getName() + " with age " + person.getAge())
// legal
println("Age: " + new Person() {
def getAge(): Int = {
20
}
}.getAge())
// legal
val person2 = new Person() {
override def getName(): String = {
"big_sheep with age " + getAge()
}
def getAge(): Int = {
20
}
}
System.out.println("Name and Age: " + person2.getName())
}
}
最后編輯于 :
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。