More than just that, languages that start from this point end up requiring some sort of naming convention for class files (ex. PHP). This is built into the CFML language already, and feels more like Java in that regard.
PHP has a coding standard (PSR-0 & now PSR-4) for autoloading classes which leverage a standardised naming method, but it’s not a requirement. Classes don’t even have to go in separate files in PHP.
Java’s behaviour is not that cut and dried either. Only public classes need to be in a file of the same name as the class.
And in both languages the classes have specific names, eg:
class Foo { // the class name is *not* derived from the file name
}
Class names and file names are discrete things, however in some situations there are conventions or restrictions applied to the two when used in conjunction with each other.