首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

小型java程序编程作派的讨论

2011-12-15 
小型java程序编程风格的讨论当我们编写一个小型的java控制台程序时,可以使用如下3种风格:第一:直接利用pub

小型java程序编程风格的讨论
当我们编写一个小型的java控制台程序时,可以使用如下3种风格:
第一:
直接利用public   class类,直接在public   class类内部写我们需要的方法和成员变量。因为main方法是static的,因此我们的方法和成员变量也全部写成static。
import   java.io.*;
public   class   Test   {
     
        static   int   mynum=20;  
        public   static   int   myfunction()
        {
        return   mynum+1;
        }  
        public   static   void   main(String[]   args)   {                
                System.out.println   (mynum);
                System.out.println   (myfunction());
        }
}
第二:
直接在public   class类内部new一个public   class类的对象,这样所有的方法和成员变量都不必一定要是static的,这种方法太怪。
import   java.io.*;
public   class   Test   {
     
        int   mynum=20;  
        public   int   myfunction()
        {
        return   mynum+1;
        }  
        public   static   void   main(String[]   args)   {
                Test   myclass=new   Test();  
                System.out.println   (myclass.mynum);
                System.out.println   (myclass.myfunction());
        }
}
第三种:
也是最正常的一种,建立一个class,然后在public   class类内部new一个刚才建立的class。
import   java.io.*;
class   Mytest{
int   mynum=20;  
        public   int   myfunction()
        {
        return   mynum+1;
        }  
}
public   class   Test   {
     
       
        public   static   void   main(String[]   args)   {    
        Mytest   f=new   Mytest();            
                System.out.println   (f.mynum);
                System.out.println   (f.myfunction());
        }
}

请说出各个方法的利弊^_^

[解决办法]
需求决定工具和手段:)
[解决办法]
这样的程序一般是用于进行临时测试,怎么顺手怎么写
[解决办法]
To zuilang(3木):

你的两段代码语法上讲都没有问题,只是你都定义了Mytest t=new Mytest();这是没有必要的。

你可以这么来考虑:main方法是一个启动程序的入口点,先不要管它在哪个类里面。在main方法里你声明了一个Mytest对象,Mytest f=new Mytest();那Mytest对象是什么呢?这个对象包含了一个成员属性,即mynum,还包含了方法myfunction()。main方法中声明了Mytest类型的f,当然可以调用f的属性和方法。

Test中的main方法是静态的,是属于Test类而不是实例的。其实,main属于哪个类都一样可以执行。

你回复里的两段代码实际上可以写为:

class Mytest {
int mynum = 20;
public int myfunction() {
return mynum + 1;
}
}

public class Test {


public static void main(String[] args) {
Mytest f = new Mytest();
System.out.println(f.mynum);
System.out.println(f.myfunction());
}
}


甚至是:

public class Test {
int mynum = 20;
public int myfunction() {
return mynum + 1;
}
public static void main(String[] args) {
Test f = new Test();
System.out.println(f.mynum);
System.out.println(f.myfunction());
}
}

[解决办法]
我觉得没有一种方法很怪啊.都是很正常的啊.多多理解一下static这个东西吧.

热点排行