当前位置: 代码迷 >> Java相关 >> 大家觉得这两道题选什么?
  详细解决方案

大家觉得这两道题选什么?

热度:52   发布时间:2006-05-02 16:15:00.0
大家觉得这两道题选什么?

1。
以下有关类定义的说法正确的是:
A. 一个类可以有成员,也可以没有成员
B. 类的成员至少有一个属性和一个方法
C. 类的静态属性同全局变量的概念完全一样,只是表达形式不同
D. 类的方法在实例化时不占用内存

2。
this 和super的使用中,正确的是:
A. 都是指一个内存地址
B. 可以在同一个方法定义中出现
C. 意义相同
D. 以上都不对

搜索更多相关的解决方案: 内存  定义  属性  变量  成员  

----------------解决方案--------------------------------------------------------
1,D;
2,D.
----------------解决方案--------------------------------------------------------
第一题A为什么不对?为什么类的方法在实例化时不占用内存?
----------------解决方案--------------------------------------------------------
第二题B不对吗?
比如下面这个构造方法中:
class A extends B
{
public A(int a,int b,int c)
{
super(a,b);
this.c=c;
}
this和super不是同时出现了吗?
----------------解决方案--------------------------------------------------------

错了 第一题应该选A
可以定义一个空类
构造方法实例化时要占用内存


----------------解决方案--------------------------------------------------------

你能确定第一题是A吗?
可是答案是D,到底是哪个呀?


----------------解决方案--------------------------------------------------------

不过确实可以定义一个空类啊
构造方法不用写出来


----------------解决方案--------------------------------------------------------
构造方法不用写出来,也就是说定义类的时候它是不存在的?只有在创建这个类的对象的时候,系统才会创建一个默认的无参构造函数?你是这个意思吗?
----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
那你看这句话是什么意思:


成员函数表面上是放在类里面描述,但实际上只有一个实例,而且是放在代码段的,创建一个类实例的时候实际上只是分配类变量和VMT表指针的空间,所以调用非静态成员函数自动传递一个实例指针,只不过这个参数是编译器自动生成传递的,表面上看不出。如果函数都像变量那样有多份拷贝只要创建几个实例就可以把机器搞垮
----------------解决方案--------------------------------------------------------
  相关解决方案