These abstractions were already common in enterprise C code decades before Java came to be, thanks to stuff like Yourdon Structured Method.
Using fixed size buffers doesn't fix out of bounds errors, and stack corruption caused by such bugs.
Naturally we all know good C programmers never make them. /s