In this case you are initializing a vector that can contain any type of Floats:
julia> x = AbstractFloat[1.f0]
1.0f0 # Float32
1.0 # Float64
If you start a vector with a concrete type signature, like:
julia> y = Float32[1.f0]
Only elements of that type will be possible. Depending on what you want the vector to have, you can even get an error:
julia> z = Int
ERROR: InexactError: Int64(1.4142135623730951)
AbstractFloat is an abstract type of which
Float64 are subtypes:
AbstractFloat vector can contain any of those types.
It is not a good a idea to have that kind of mixed type vector, that have performance issues, because each type of number has a different representation in the memory and has to be dispatched differently to the functions that will operate on them.
Any can contain anything:
julia> x = Any