您的位置:首页 > 职场人生

黑马程序员02-面向对象自我提问

2012-07-03 20:55 281 查看
---------------------- android培训java培训、期待与您交流! ------------------------

1,面向对象的三个特征是什么?

封装

继承

多态

2,开发是做什么?

找对象使用。这是面向对象和面向过程的不同。没有对象,就创建对象。

开发就是找对象,建对象,用对象,并维护对象之间的关系。

3,类和对象之间的关系是什么?

类是现实世界间存在的一类事物的描述。描述事物就是在描述事物的属性和行为?

对象是这类事物实实在在存在的个体。

4,对象,实体,实例,类之间的关系式什么样的?

在java中,对事物的描述就是用class关键字定义的类。

对象就是用new关键字建立的实体。实体存放在堆内存中。

实体:数据多了要用实体来存储。

5,如何定义一个类?

类时对事物的描述。而描述事物就是描述事物的属性和行为。要定义一个类,就先找出要描述的事物属性和行为。然后翻译为java语言。

属性对应类中的变量,行为对应类中的函数或方法。

比如描述汽车。汽车的属性包括颜色和轮胎数,排量,启动,熄火。

class Car

{

public String name=("红色");

int num=4;

double pailiang=2.0;

public static void run()

{

System.out.println("汽车运行");

}

public static void run1()

{

System.out.println("汽车停止");

}

}

6,什么是成员变量?什么是成员函数?

定义在类中的变量叫做成员变量,定义在类中的函数叫做成员函数。函数即方法。

7,Car c=new Car();在内存中是如何存储的?

Car c定义了一个类类型的变量,这个变量时定义在主函数里,所以c是一个局部变量。局部变量存储在栈内存中。

Car c在栈内存中开辟了一个内存空间,这个内存空间的名称是c,类型是Car,它存储new Car()在堆内存中建立的实体的地址值。

new Car()在建立了一个对象。对象是一个实体。它存储在堆内存中。所以new Car()在堆内存中开辟了一片内存空间,这片内存空间存储对象的属性和行为,即成员变量和成员函数。

5,当定义类变量之后,如何重新赋值?

c.color="bule";即可。

6,如何使用一个类里的东西?

建立这个类的对象,用对象调用类里的东西。

7,描述同一个类的多个事物,有必要建立多个程序吗?

没有必要,建立这些事物的类,建立多个对象,就可以操作多个事物。

8,学了类以后,变量的定义跟没学之前有什么不同?

以前定义的变量,要么在主函数里,要么在自定义的函数里。不能定义在函数外。以前程序只有一个类,函数都定义在这一个类里。现在自定义类以后,可以同时定义变量和函数。变量可以定义在函数外面。也可以不定义在主类里。

9,成员变量和局部变量有什么异同?

成员变量时定义在类里的变量。作用范围在整个类中,成员方法可以直接使用成员变量。

存储在堆内存中。成员变量在建立对象之后才在堆内存中存在。

局部变量定义是定义在方法里或者方法的形参列表里或者for循环里。它的作用范围在方法里或者for循环里。局部变量存储在栈内存中。局部变量在定义变量之后在栈内存中存在。

10,程序与类的关系?

一个程序可以有很多个类。但是里面只能有一个public类。一个程序只能有一个入口,就是只能有一个主函数。

11,什么是匿名对象?匿名对象的作用是什么?

匿名对象就是没有名称的对象。

new Car();就是一个匿名对象。

Car c=new Car();这个建立的是对象

c.num=6;这个是对象调用它的成员变量

new Car ().num=5;这个是匿名对象调用成员变量。new Car()相当于c。

12,匿名对象的作用?

new Car().num=5;在堆内存中建立一个对象,将num的值改为5。

new Car().color="blue";这里不是改变上面那个对象的color,而是新建一个对象。改变这个对象的color,而这个对象的num仍然是4.

new Car().run();这里又新建了一个对象,调用run方法,而它的num和color没变,仍然是初始化值4和red。

此句运行到第二个语句时,第一个语句由于没有任何引用变量指向它,已经成为垃圾,将在不确定的时间由垃圾回收器回收。

13,匿名对象的使用方式?

当只调用一次run方法时,可以使用匿名对象。好处是比较简化。

如果要调用多个成员,则必须给对象起个名字。

-------------------- android培训java培训、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: