1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
In recent versions of Java, `yield` is a restricted identifier:
```java
class T {
void yield() {}
{
yield();
}
}
```
```
$ javac --release 20 T.java
T.java:3: error: invalid use of a restricted identifier 'yield'
yield();
^
(to invoke a method called yield, qualify the yield with a receiver or type name)
1 error
```
To invoke existing methods called `yield`, use qualified names:
```java
class T {
void yield() {}
{
this.yield();
}
}
```
```java
class T {
static void yield() {}
{
T.yield();
}
}
```
```java
class T {
void yield() {}
class I {
{
T.this.yield();
}
}
}
```
|