如果我写了一个类,这个类调用了基础类(类库)中的一些方法,
在主方法中new他,是不是必须写构造函数。
如下,列出某个目录下的文件和文件夹:
[code=Jav]import java.io.* ;
public class MyFile {
File f1=new File("C:/Windows");
File file[]=f1.listFiles();
MyFile(){
String s1=f1.getName();
boolean s2=f1.canRead();
long s3=f1.length();
int j=0;
System.out.println (s1+"是可读的吗?"+s2);
System.out.println (s1+"的长度:"+s3);
System.out.println (s1+"下的目录有:");
for(int i=0;i <file.length;i++){
if(file[i].isDirectory()) {
System.out.print(file[i].getName()+" ");
j++;
if(j%8==0) { System.out.print("\n"); }
}
}
System.out.println ("\n"+s1+"下的文件有:");
for(int i=0;i <file.length;i++){
if(file[i].isFile()) {
System.out.print(file[i].getName()+" ");
j++;
if(j%6==0) { System.out.print("\n"); }
}
}
}
public static void main(String[] args){
new MyFile();
}
}[/code]
不要构造函数,是会报错的
还有,在JSP中
可以不需要像这样赋值,直接可以out.print出来
String s1=f1.getName();
boolean s2=f1.canRead();
long s3=f1.length();
能解释一下吗?
在主方法中new他,是不是必须写构造函数。
如下,列出某个目录下的文件和文件夹:
[code=Jav]import java.io.* ;
public class MyFile {
File f1=new File("C:/Windows");
File file[]=f1.listFiles();
MyFile(){
String s1=f1.getName();
boolean s2=f1.canRead();
long s3=f1.length();
int j=0;
System.out.println (s1+"是可读的吗?"+s2);
System.out.println (s1+"的长度:"+s3);
System.out.println (s1+"下的目录有:");
for(int i=0;i <file.length;i++){
if(file[i].isDirectory()) {
System.out.print(file[i].getName()+" ");
j++;
if(j%8==0) { System.out.print("\n"); }
}
}
System.out.println ("\n"+s1+"下的文件有:");
for(int i=0;i <file.length;i++){
if(file[i].isFile()) {
System.out.print(file[i].getName()+" ");
j++;
if(j%6==0) { System.out.print("\n"); }
}
}
}
public static void main(String[] args){
new MyFile();
}
}[/code]
不要构造函数,是会报错的
还有,在JSP中
可以不需要像这样赋值,直接可以out.print出来
String s1=f1.getName();
boolean s2=f1.canRead();
long s3=f1.length();
能解释一下吗?
解决方案 »
- Estjs中点击按钮,waitMsg等待进度条消失后整个界面不能操作
- 提供java版简单的视频广播软件,类似netmeeting
- 50以内的素数代码,求每个语句解释或者是思路。
- java连接SQL Server 2005报错,急啊,帮帮忙吧!
- 请教一个ireport做web报表的问题 急 在线等 解决后散分!
- 新手学JAVA 求大家帮写一个作业题
- 看看这个类的执行顺序。。。为什么?????进来有分
- 一个再基础不过的问题了!!
- 菜菜的问题:我用java做的程序,应该以什么形式发布给用户
- 如何用Java实现二进制文件到文本文件的相互转化?
- JPanel里GridLayout里的TextField长宽问题
- 求一个数的最大质因数问题!大虾帮帮忙
//怎么格式不能用了?
[/code]
main方法中的代码,是用户从命令行执行这个类的时候执行的,你的main方法中新建了本类的一个对象。
new MyFile()这一条指令执行的时候,JVM会新建一个MyFile对象,初始化其f1和file属性,然后执行MyFile()这个构建器,这样你就可以看到写在构建器中代码的执行效果了。
不一定非要这样写,但你这样写是没错的。至于JSP中,可能会用其他标签实例化对象,对象不实例化不能访问的。
out对象特殊一点,是JSP引擎准备好了,直接可用。
public class MyFile {
File f1=new File("C:/Windows");
File file[]=f1.listFiles();
String s1=f1.getName();
boolean s2=f1.canRead();
long s3=f1.length();
int j=0;
System.out.println (s1+"是可读的吗?"+s2);
System.out.println (s1+"的长度:"+s3);
System.out.println (s1+"下的目录有:");
for(int i=0;i<file.length;i++){
if(file[i].isDirectory()) {
System.out.print(file[i].getName()+" ");
j++;
if(j%8==0) { System.out.print("\n"); }
}
}
System.out.println ("\n"+s1+"下的文件有:");
for(int i=0;i<file.length;i++){
if(file[i].isFile()) {
System.out.print(file[i].getName()+" ");
j++;
if(j%6==0) { System.out.print("\n"); }
}
}
public static void main(String[] args){
new MyFile();
}
}
那为什么这样就报错了呢
难道是因为无法初始化这些变量