So @Khrys is right, TBook and TLongBook are "address constants", i.e. pointers, though I don't understand to what.
Physically speaking, it's obvious that TBook exists somewhere in memory: for example, if you have a procedure defined as a "class procedure" within TBook, it is called and executed without instantiating TBook. This also applies when using RTTI, where I could refer to TBook without explicitly referring to the compiler.
But this has nothing to do with whether TBook can be defined as DEFAULT VALUE.
Edit: about the concept of "address constants": I would keep this concept well away from common usage. A pointer (or rather, what it refers to) can be valid for a limited "time," but it doesn't necessarily remain constant throughout the life of a program.
A trivial example is dynamic arrays, which can be modified and expanded, and any pointer certainly can't be defined as constant.
When we use the value of "@xxxx" at a given point in the program, it is valid within that context. But nothing generally tells us that that value remains valid outside of that context.
Outside, we should again refer to "@xxxx" and not to the value stored in some variable.