❶ java构造方法应该写什么位置
如果构造方法需要外部对象访问,需要把构造方法设置成public
public age(int c, int d){
}
❷ java的随机方法放在哪里
放在javautil包下的。
此方法是完全同步的,可允许多个线程使用而不出现错误。但是,如果许多线程需要以极高的速率生成伪随机数,那么这可能会减少每个线程对拥有自己伪随机数生成器的争用。
为了Java代码的完全可移植性,Java实现必须让类Random使用此处所示的所有算法。
❸ java中方法分配在内存的哪里
方法在堆里,也叫引用类型.成员变量在栈里,是值类型.
字符串是引用型变量,所以也在堆里.
❹ java中的方法存放在哪里如何查看
JDK 主目录下面的一个名叫 src.zip的压缩文件里面,所有的java类和方法的源文件都在这里面
如我电脑上的 C:\Program Files\Java\jdk1.6.0_10\src.zip
❺ Java的类成员变量和类成员方法是不是可以随便放到哪里的
根据面向对象的思维,一个方法必须放在其对应类,其他的类如果调用该方法,应该用自己实例化的对象在外部函数或者主函数去调用。
根据你意思:
public static Vector cards = new Vector();
这句话应该写在外部类中,这样所有内部类都认识cards了!
public static void post()
这句话是你定义的一个方法,在HelpDialog这个类里!因此要使用这个方法你必须在用到post()
方法的类里继承HelpDialog这个父类,并且把post()方法实例化 ( public static void post(){}
)
❻ JAVA中类中的方法存储在什么地方
类加载时 方法信息保存在一块称为方法区的内存中, 并不随你创建对象而随对象保存于堆中。可参考《深入java虚拟机》前几章。
另参考(他人文章):
如果instance method也随着instance增加而增加的话,那内存消耗也太大了,为了做到共用一小段内存,Java 是根据this关键字做到的,比如:instance1.instanceMethod(); instance2.instanceMethod(); 在传递给对象参数的时候,Java 编译器自动先加上了一个this参数,它表示传递的是这个对象引用,虽然他们两个对象共用一个方法,但是他们的方法中所产生的数据是私有的,这是因为参数被传进来变成call stack内的entry,而各个对象都有不同call stack,所以不会混淆。其实调用每个非static方法时,Java 编译器都会自动的先加上当前调用此方法对象的参数,有时候在一个方法调用另一个方法,这时可以不用在前面加上this的,因为要传递的对象参数就是当前执行这个方法的对象。
❼ java中的实例方法存在哪
HI我,我对你的问题蛮感兴趣的
类的实例方法在内存中是只有一份,不过肯定不会是第一个对象中,如果是第一个对象的话,那么当第一个对象被销毁的时候,那么后面的对象就永远无法调用了...
类的实例方法存在一个专门的区叫方法区,事实上类刚装载的时候就被装载好了,不过它们在"睡眠",只是这些方法必须当有对象产生的时候才会"苏醒".(比如,一个输出类的成员变量的方法,如果连对象都没有,何来的输出成员变量).所以,方法在装载的时候就有了,但是不可用,因为它没有指象任何一个对象。
而静态的又不一样了,静态的东西存在静态区,他们和类是一个等级的,就是说只要类被装载,它们就可以直接用.(用类名来调用).他们不依赖与任何对象,所以也不能输出任何对象的成员属性.(除非成员属性也是静态的).
而你最后的一句话也是错的,"类的所有数据在内存中只有静态的才又空间".
当然不是,每个对象在new的时候都会在堆区中开辟内存,用来保存对象的属性和方法.(实际上方法保存的只是方法区的引用,如果保存的是方法本身,那么试想一下,有多少个对象就得有多少个方法,那么又和第一点中"实例方法在内存中只有一份拷贝"相矛盾了)
好了,事实上内存图很复杂和麻烦,算比较深的东西了,很多用JAVA多年的人也不太了解其原理,因为开发也不要用..
❽ java中的方法代码存在了哪里
类的实例方法在内存中是只有一份,不过肯定不会是第一个对象中,如果是第一个对象的话,那么当第一个对象被销毁的时候,那么后面的对象就永远无法调用了...
类的实例方法存在一个专门的区叫方法区,事实上类刚装载的时候就被装载好了,不过它们在"睡眠",只是这些方法必须当有对象产生的时候才会"苏醒".(比如,一个输出类的成员变量的方法,如果连对象都没有,何来的输出成员变量).所以,方法在装载的时候就有了,但是不可用,因为它没有指象任何一个对象。
而静态的又不一样了,静态的东西存在静态区,他们和类是一个等级的,就是说只要类被装载,它们就可以直接用.(用类名来调用).他们不依赖与任何对象,所以也不能输出任何对象的成员属性.(除非成员属性也是静态的).
而你最后的一句话也是错的,"类的所有数据在内存中只有静态的才又空间".
当然不是,每个对象在new的时候都会在堆区中开辟内存,用来保存对象的属性和方法.(实际上方法保存的只是方法区的引用,如果保存的是方法本身,那么试想一下,有多少个对象就得有多少个方法,那么又和第一点中"实例方法在内存中只有一份拷贝"相矛盾了)
好了,事实上内存图很复杂和麻烦,算比较深的东西了,很多用JAVA多年的人也不太了解其原理,因为开发也不要用..
更多的问题可以去远标培训去问技术老师。
❾ java中方法必须写在类体里吗
是的,java一切都是以类的形式存在,方法是类的一部分,需要通过类才能进行方法的调用。
从内存存储角度来说,java中找对应方法时,都是先找对应类实例,类实例是根据类来初始化内存的。如果方法在类外部,则无法找到该方法。
所以方法必须在类体里。