[問題] 一個 java expression 裡有兩個 this
請問一下, Java 的一個 expression 裡有機會出現一個以上的 this 或 super 嗎?
從 Java 的 Grammar 看起來似乎允許:
Expression3 = Primary ( Selector )* ( PostfixOp )*
| ...
Primary = "this" [ arguments ]
| "super" SuperSuffix
| ...
Selector = "." "this"
| "." "super" SuperSuffix
| ...
但我卻想不出哪種 expression 可以有多個 this 或 super 或混合使用的:
this.toString(); // OK
Foo.this.toString(); // OK
this.this.toString(); // Syntax Error
super.toString(); // OK
Foo.super.toString(); // OK
super.super.toString(); // Syntax Error
this.super.toString(); // Syntax Error
super.this.toString(); // Syntax Error
super.Foo.this.toString(); // Syntax Error
是有什麼狀況我沒想到的嗎? 還是 Java Grammar 那樣寫只是為了簡單,
實際在語意處理的時候並不允許多個 this 或 super 出現在一個 expression 中?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.136.90.107
推
03/27 22:56, , 1F
03/27 22:56, 1F
推
03/28 00:07, , 2F
03/28 00:07, 2F
→
03/28 23:05, , 3F
03/28 23:05, 3F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 4 篇):