Вы можете использовать любое зарезервированное слово с обратными галочками:
package `public` // this is actually unnecessary, as public works fine... in Scala
class `class` {
def `with`: String = "with"
}
Если intelliJ запрещает вам, вы можете просто создать сущность под другим именем и затем переименовать ее во что-нибудь с обратными галочками.
Но, пожалуйста, пожалуйста, никогда не делайте этого в рабочем коде. Это fr agile, усложняет вызов ваших интерфейсов из Java (даже если это может быть уже довольно сложно), иногда прерывается макросы, которые сложно и раздражает печатать, и могут вводить в заблуждение средства форматирования или другие инструменты, анализирующие ваш код.