Well, the main loop does nothing unless the file is a directory, right? The only print statement is the one that prints the absolute path of a directory. And then because you've used the filename filter, you know that the only files in "filenames" must have names that end with ".class". So unless you've got a directory named <something>.class, this program isn't going to print anything.
Well, another problem I see is that the constructor has a parameter named "ext" and there's also a member named "ext"; the assignment you make in the constructor goes to the parameter, not to the member, so the member "ext" is always null. Changing the name of the constructor parameter, or using "this.ext = ...", would fix that, and then you'll be on your way. Then you'll start to get some NullPointerExceptions, as calling File.list() when the File isn't a directory returns null.