请教个新手问题:java中是不是用static修饰的方法不用实例化就可以直接使用呢?回答满意可加分

具体是怎么用的,可以举个例子吗?谢谢

是的
类中的方法分两种:类方法和实例方法
static修饰的就是类方法,不但可以被类创建的对象使用而且可以直接通过类名调用
而没有static修饰的就是实例方法了,只能通过创建对象来调用
其实这个的原理在于:当类的字节码被调用到内存的时候,类方法会分配入口地址,而实例方法不分配,所以类方法可以被类直接调用,而实例方法只有当创建了对象才分配入口地址,才能被调用。不过是,实例方法的端口是所有类对象共享的,当创建第一个对象时,类中的实例方法就分配了入口地址,再创建的时候就不用再分配了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-07-19
class Math{
public static int add(int a,int b){
return a+b;
}
}
class Mainclass{
public static void main(arg[] args){
int result = Math.add(4,8);
System.out.println("4+8="+result);
}
}



你需要好好java的基础教程,这是很简单的概念。

参考资料:sss

第2个回答  2011-07-20
是的,静态方法是不需要实例化的
一旦类中声明了该静态方法或者变量,在调用的时候,类名.静态方法名(),就可以调用了

java中的static类不用实例化就可以直接调用方法吗
因为加了static关键字的变量或者方法是属于类的,在程序加载类的字节码的时候就加载到一个静态内存区域里面去了,而且一直在程序运行中存在,不会随着方法的调用结束而消失。所以是直接通过类名调用的 它属于类 不属于实例对象

在java中什么时候会用到static
用static修饰的方法可以用类名直接调用,不用的一定要先实例化一个对象然后才可以调用 比如 person这个类里面有一个方法public static add(){} 那么可以直接用person类调用 person.add();当然也可以用下面的方法先出一个对象在调用也是可以 如果这个方法前面没有static 比如 public add(){} 那么先要pe...

Java中可以直接调用类中静态方法,不用实例化么,详解!原理
堆内存中开辟一个新空间来存放该类的实例对象,并且栈中也会有一个新的引用变量去指向它。静态方法也是类似,但是有一点要强调,静态方法只中不能调用非静态方法。因为被static修饰的方法会首先被Classloader对象先加载进内存,而这个时候可能其它的非静态方法或者变量还没有被加载进来。就好比我现在想做包...

Java 中为什么主类不实例化就能够运行程序
不错哈,有static关键字的方法叫静态方法,不用实例化成对象就可以被类调用,所以他也叫类方法,一般而言,方法都要显式地被调用,但有些方法不用你自己显式地调用,Java会自己调用,最典型的就是main方法了,这是大家都知道的,他是程序的入口。稍注意你就会发现还有paint方法也是不用显式调用的,这...

在java中,什么类用static修饰,为什么system类不能被实例化后该类方法...
System类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类。他的属性和方法都是static的,所以也可以很方便的进行调用。调用方式 就是 类型.属性名称\/方法名称。最后,如果他内部的某个属性方法为static类型的,那么需要提前加载到内存中,那么,你想想方法都要进取了,类能不跟着...

java中static作用详解
static变量前可以有private修饰,表示这个变量可以在类的静态代码块中,或者类的其他静态成员方法中使用(当然也可以在非静态成员方法中使用--废话),但是不能在其他类中通过类名来直接引用,这一点很重要。实际上你需要搞明白,private是访问权限限定,static表示不要实例化就可以使用,这样就容易理解多了...

Java中,类不实例化就能调用方法吗?
Java中,类不实例化是可以调用方法的,这种方法叫做静态方法,也叫做类方法。类的静态方法不属于类的对象,而属于类本身,在该类首次使用的时候加载到系统的方法区中,一般可以使用类名直接调用类的静态方法,而不需要实例化对象。由于静态方法并不属于对象,因此在静态方法中无法操作类的普通成员变量,只能...

请教大家关于JAVA中的静态变量和静态方法
一种是被static关键字修饰的变量,叫类变量或者静态变量 另一种没有static修饰,为实例变量 类的静态变量在内存中只有一个,java虚拟机在加载类的过程中为静态变量分配内存,静态变量位于方法区,被类的所有实例共享。静态变量可以直接通过类名进行访问,其生命周期取决于类的生命周期。而实例变量取决于类...

请问JAVA的main函数前加的static和public是什么意思?代表了什么?不加呢...
static关键字,告知编译器main函数是一个静态函数。也就是说main函数中的代码是存储在静态存储区的,即当定义了类以后这段代码就已经存在了。如果main()方法没有使用static修饰符,那么编译不会出错,但是如果你试图执行该程序将会报错,提示main()方法不存在。因为包含main()的类并没有实例化(即没有...

静态方法是什么意思?
在Java语言中,静态方法通常用static修饰符来声明。在使用静态方法时,可以直接使用类名.方法名的形式引用该方法,而不需要实例化对象。此外,静态方法不允许访问非静态域或实例方法,在方法中也不能使用super或this等关键字。因为静态方法不需要实例化对象,所以可以在程序启动的时候就调用它们,并且不需要...

相似回答