黑马程序员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培训、期待与您交流! ----------------------
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培训、期待与您交流! ----------------------
相关文章推荐
- 黑马程序员06-第十三天 自我提问
- 黑马程序员_java基础_面向对象_02
- 黑马程序员——OC学习笔记02 面向对象1 类
- 黑马程序员07-静态自我提问
- 黑马程序员08-GUI自我提问
- 黑马程序员09-网络编程自我提问
- 黑马程序员——面向对象(继承02)-第19天
- 黑马程序员10-枚举 自我提问
- 黑马程序员01-基础课第一天第二天内容自我提问
- 黑马程序员04-第九天 自我提问
- 黑马程序员05-多线程自我提问
- 黑马程序员_Java基础02_面向对象
- 黑马程序员--C#面向对象三大基本特征(封装)(02)
- 黑马程序员04——面向对象1
- 02 - JavaSE之基础及面向对象(补充)
- 黑马程序员09--Foundation--02--集合类1-NSArray、NSSet
- 黑马程序员 06 Java基础教学 - 06 - 面向对象(2) 之 关于静态static的那些事
- 黑马程序员----JAVA基础之面向对象
- 黑马程序员_面向对象(上)
- 文档02_面向对象