I'm pretty sure there is no 1-byte lower limit for classes. You can have a zero size object that is nothing more than static maps to functions. I do it all the time.
This is incorrect, at least in C++. Each object must have a unique address, therefore no class may have a size of 0. If you take your class that only holds static functions and instantiate an instance of it, you'll find that it's size is 1 byte.
I don't remember for sure but I believe that Java has the concept of "static classes" which simply can't be instantiated.