Sina.iRoid
شنبه 19 مهر 1393, 09:34 صبح
سلام دوستان. ممنون میشم اگر راهنماییم کنید.
من یه کلاسی دارم به نام: OnlyExt که این کلاس و در زیر مشاهده می کنید:
import java.io.File;
import java.io.FilenameFilter;
public class OnlyExt implements FilenameFilter{
String ext;
public OnlyExt(String ext) {
this.ext = "." + ext;
}
@Override
public boolean accept(File f1, String name) {
return name.endsWith(ext);
}
}
و این هم کد کلاس اصلیم هست.
import java.io.File;
import java.io.FilenameFilter;
public class DriverClass{
public static void main(String[] args) {
String dirname = "F://06.Wallp";
File f1 = new File(dirname);
FilenameFilter only = new OnlyExt("html");
String[] str = f1.list(only);
if (str == null) {
return;
}
for (int i = 0; i < str.length; i++) {
System.out.println(str[i]);
}
}
}
من در مورد این کد که در کلاس اصلی هست متوجه نمیشم:
FilenameFilter only = new OnlyExt("html");
سوال من اینه که مگه FilenameFilter یک اینترفیس نیست!؟ پس چطور از روی اینترفیس یه شی تعریف کرده؟ اصلا متوجش نمیشم. ممنون میشم اگر توضیح بدین.
من یه کلاسی دارم به نام: OnlyExt که این کلاس و در زیر مشاهده می کنید:
import java.io.File;
import java.io.FilenameFilter;
public class OnlyExt implements FilenameFilter{
String ext;
public OnlyExt(String ext) {
this.ext = "." + ext;
}
@Override
public boolean accept(File f1, String name) {
return name.endsWith(ext);
}
}
و این هم کد کلاس اصلیم هست.
import java.io.File;
import java.io.FilenameFilter;
public class DriverClass{
public static void main(String[] args) {
String dirname = "F://06.Wallp";
File f1 = new File(dirname);
FilenameFilter only = new OnlyExt("html");
String[] str = f1.list(only);
if (str == null) {
return;
}
for (int i = 0; i < str.length; i++) {
System.out.println(str[i]);
}
}
}
من در مورد این کد که در کلاس اصلی هست متوجه نمیشم:
FilenameFilter only = new OnlyExt("html");
سوال من اینه که مگه FilenameFilter یک اینترفیس نیست!؟ پس چطور از روی اینترفیس یه شی تعریف کرده؟ اصلا متوجش نمیشم. ممنون میشم اگر توضیح بدین.