java中 什么时候 在定义的时候 用 public void ?什么时候用 public static void? 还有如果需要打印,一定需

一定需要main方法吗?
像这段小程序,请问 里面的 public void test1() 调用的是一个方法吗? 为什么不是一个类?还有这里为什么首选public void 而不用 public static void? 如果要打印那个string 如何打印出来

public class Dom4j {
//1、得到某个具体的节点内

public void Test1() throws Exception{
SAXReader reader = new SAXReader();
Document document = reader.read("src/book.mxl");
Element root = document.getRootElement();
List list = root.elements("书");
Element element =(Element)list.get(0);
String string = element.element("售价").getText();
}
}

单独理解public可能有点迷惑,因为有了它只要类可以到的地方,这个方法在那里都可以被调用
-----------------------------------------------------------------------------------------------
为了方便理解,可以先把你的方法设置成private的.
这个时候,你在别的类中试试看,还能不能直接调用这个方法呢!
private定义的方法是私有方法,在别的类中就不能直接调用
它和final很亲近,因为凡是final的方法,在子类中都不能被重写
private用多了,你就知道public的排场了
----------------------------------------------------------------------------------------------
关于void:
void方法,是不让你有返回值.如果不是void方法.就必须有相应的返回值!
----------------------------------------------------------------------------------------------
static 的方法,是静态方法.在JVM加载的时候就已经编译过了.所以一直在内存中存在着,
可以用类名直接调用.但是占内存.所以没有必要的情况下,尽量不要写成static的.
动态方法,只有在每次需要使用的时候才回调用到.但是必须创建类的对象
所以首选是void而不是static void
-------------------------------------------------------------------------------------------------
main方法,只是程序运行的一个主方法.可以简单的理解为程序启动的启动控制机房(启动哪个方法的决定权有这个机房掌握,当然这样理解并不科学)
如果要打印,并不是必须有main,在web项目中.如果一个jsp页面直接或者间接"调用"了某个类中的方法,如果这个方法中有打印语句.打印方法也会执行!
总之,只要这个方法被调用了,如果这个方法中有打印语句,就会被执行!(别扣字眼,调用失败的不算)
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-12-09
pubilc是公共的,表示在任何地方都可以使用,static是静态的,不用实例化对象就可以用类名调用。void是方法的返回值类型,代表空的返回值类型。程序要想执行,main方法是入口。
第2个回答  2011-12-09
如果是在类的内部调用,他们的区别不大,如果在外部调用,一个是静态方法(static),一个类方法,静态方法可以通过类名.方法直接调用,而类方法,要通过对象名.方法。

如果要打印,不一定要在main方法里面,因为print是静态方法(static),所以可以任何时候调用
第3个回答  2011-12-10
static只是一个静态修饰符,只有静态方法才可以调用,非静态方法不可以调用静态的,还有你的问题有些不明确,不知道你真正的意图是??

在java中publicvoid与publicstaticvoid有什么区别?
在 Java 中,public void 和 public static void 是用于修饰方法的关键字。它们之间的主要区别在于方法的访问性和调用方式。public void 修饰的方法是非静态方法。这意味着这些方法属于特定的对象。在对象被实例化(通过 new 关键字创建对象)之后,这些方法才能被调用。在实例化对象之前,尝试调用非静态方...

在java中public void与public static void有什么区别
public void 是给对象调用的方法 public static void 是给类调用的方法 举个例子说,Person类,如果要打印【姓名】,void printName应该打印出【张三】、【李四】之类的实际姓名,这个是由张三zhangsan.printName、lisi.printName等对象调用;static void printName应该打印出【人类】,这个是Person.printNam...

在java中public void与public static void有什么区别 ?
tatic public与public static是等价的,这两者只是两个修饰符的顺序不同。根据oracle.com教材中第八章的描述,如果两个或两个以上的(不同的)字段修饰符出现在字段声明,它们出现的顺序需与FieldModifier一致,这只是习惯,但不是必需的。部分修饰符说明:public是访问权限修饰符,用于控制外界对类内部成员...

在java中public void与public static void有什么区别
public void:在使用这种方法的时候,必须要对类实例化,就算是本类当中调用也必须将这个类实例化 public static void:在使用这种方法的时候,如果在本类中使用,只需要写方法名(有参数的需要传入实参),如果在其它类使用,则直接使用类名点方法名就可以了 ...

在java中public void与public static void有什么区别
只有在每次需要使用的时候才回调用到.但是必须创建类的对象 所以首选是void而不是static void --- main方法,只是程序运行的一个主方法.可以简单的理解为程序启动的启动控制机房(启动哪个方法的决定权有这个机房掌握,当然这样理解并不科学) 如果要打印,并不是必须有main,在web项目中.如果一个jsp页面直接...

Java里面Public Static Void Private有什么用
void是返回值空。方法不是void返回值的必须返回类型。例如。public void aaa(){},方法体里不必有return语句,同时也没有返回值。但是public XXX aaa(){return ooo},则方法里必须有return ooo,XXX是一个类型,可以是8个基本类型,也可以是引用类型。但是ooo必须是XXX类型的。private 缺省 protected...

几个不容易搞清楚的关键字的用法,public,protected,private,static,什么...
final在类之前,标是该类不能被继承;final在变量之前,定义一个常量。static:在变量或方法之前,表明它们是属于类的;静态变量在各实例间共享,如果是public静态变量,则其它类可以不通过实例化访问它们;静态方法称为类的方法,因此不用实例化即可调用(面向过程)一个对象的方法可以访问对象的数据成员,尽管...

java代码中的: public static void是什么意思?翻译出来不通顺啊_百度...
public static void main(String[] args)这是java程序的入口地址,java虚拟机运行程序的时候首先找的就是main方法.跟C语言里面的main()函数的作用是一样的.只有有main()方法的java程序才能够被java虚拟机欲行,可理解为规定的格式 对于里面的参数及修饰符 public:表示的这个程序的访问权限,表示的是任何...

java菜鸟的一个疑问 关于public static void main(String args...
public class Demo3{} \/\/定义一个内部类 } class Demo1{} \/\/定义一个类 class Demo2{} \/\/再定义一个类 然后在主类只可以有一个主方法,也就是main方法,就是你上面的那句public static void mian(Stirng []args),但是在主类中可以有多个方法,就像你上面定义的许多方法,都不是主...

...static final, 跟 public static void有什么区别啊?
public static final 用于声明一个变量,并且这个变量在程序中不能够改变。比如 public static final float PI = 3.14;这个PI值在程序中再次进行赋值是没效果的。public static void 一般是放到一个方法前面,void 表示方法什么都不返回。static 表示调用者不用new 一个对象就可以直接调用这个方法。比如 ...

相似回答