问个问题
就好比下面的程序,里面自己定义的方法和变量 有的是public的 有的是private的 这些都在什么情况下用呢,为什么要这么用呢package jianchayuchuangjianmulu;
import java.io.*;
public class CrFileDemo {
public static void main(String[] args) {
if(args.length<1)
myUsage();
if(args[0].equals("-r"))
{
if(args.length!=3)
myUsage();
File oldFile=new File(args[1]),rname=new File(args[2]);
oldFile.renameTo(rname);
System.out.println(oldFile+"重命名为"+rname);
fileInfo(oldFile);
fileInfo(rname);
return;
}
int count=0;
boolean del=false;
if(args[0].equals("-d"))
{
count++;
del=true;
}
for(;count<args.length;count++)
{
File f=new File(args[count]);
if(f.exists())
{
System.out.println(f+"已经存在");
if(del)
{
System.out.println("正在删除..."+f);
f.delete();
System.out.println(f+"已经删除");
}else
{
if(!del)
{
f.mkdirs();
System.out.println(f+"已经创建");
}
}
fileInfo(f);
}
}
}
private final static String myUsage="用法: \n"+"新建: CrFileDemo \n"+
"新建一个目录: \n"+
"删除:CrFileDemo -d path1 \n"+"删除一个目录/文件\n"+
"重命名: CrFileDemo -r path1 path2\n"+"path1 重命名为path2";
private static void myUsage()
{
System.err.println(myUsage);
System.exit(1);
}
private static void fileInfo(File f)
{
System.out.println("Absolute path"+f.getAbsolutePath()+"\n Can read:"+f.canRead()
+"\n Can write:"+f.canWrite()
+"\n getName:"+f.getName()
+"\n getParent:"+f.getParent()
+"\n getPath:"+f.getPath()
+"\n length:"+f.length()
+"\n lastModified:"+f.lastModified());
if(f.isFile())
System.out.println("its a file");
else if(f.isDirectory())
System.out.println("its a directory");
}
}
----------------解决方案--------------------------------------------------------
private的方法和变量只能在该类使用,其他类不可见。一般而言,变量用private,方法用public
----------------解决方案--------------------------------------------------------