我仍然不明白对象究竟是什么,我们都知道对象是某个类的实例(蓝图),请参阅以下内容:
class A{
static int x ;
int y;
static void meth1(){
int a;
}
void meth2(){
int b;
}
}
我从许多资源中读到:
但问题是:
提前致谢,
答案 0 :(得分:1)
真正的对象是什么?
Java中的对象与现实世界中的对象类似。真实对象具有其状态/特征和行为。在java中,特征/状态是字段,行为是对象拥有的方法。
e.g。狗是一个对象,它的年龄,颜色,特别是心情等。这些是狗的状态。行为(方法)是吠叫,改变情绪(如果你宠他)等等。
class Dog{
int age;
String colour;
String mood;
public void Bark(){
System.out.print("ruff");
}
public void pet(String newMood){
this.mood=newMood;
}
}
将Java对象视为真实世界对象,应该有所帮助。
答案 1 :(得分:0)
int a和int b将在堆栈中,而 堆中的其他一切
int x和int y之间的区别在于,在加载类时为前者分配内存,而对于后者,则在创建类A的对象时。
棘手且有趣的是,Class也是Java中的一个对象,你可以通过Object.getClass()方法获得它。
您可以在此处找到更多详细信息:where is a static method and a static variable stored in java. In heap or in stack memory
顺便说一下,方法没有存储在堆栈中,如下面的一些答案所示。答案 2 :(得分:0)
堆栈:方法,局部变量,变量引用
堆:对象及其变量
答案 3 :(得分:0)
对象只是abstraction。因此,它是您用它做任何事情的工具。
真正的对象是什么?
这是一个错误的问题。或者更确切地说,真正的答案是它是你想要的任何东西。真正的问题是,您需要哪些抽象来使您的计算机程序轻松工作?