在Java中,万物皆对象。
面向对象的概念:
面向对象:是基于面向过程的一种思想。面向过程:强调的是功能行为。
面向对象:将功能封装进对象,强调具备了功能的对象。
面向对象是基于面向过程的。
面向对象特点:
1,面向对象就是一种常见的思想。符合人们的思考习惯。
2,面向对象的出现,将复杂的问题简单化。
3,面向对象的出现,让曾经在过程中的执行者,变成了对象中的指挥者。
面向对象有三个特征:封装,继承,多态
以后的开发过程:其实就是找对象用。没有对象,就创建一个对象。
找对象,建立对象,使用对象,并维护对象的关系。
类和对象的关系:类:就是对现实生活中事物的描述。
对象:就是这类事物,实实在在存在的个体。
想要描述:提取对象中共性内容。对具体的抽象。
映射到Java中描述就是class定义的类。
具体对象就是对应Java在堆内存中用new建立实体。
例子:
需求:描述小汽车。描述事物其实就是在描述事情的属性和行为。
分析:
1,属性:轮胎数。颜色。
2,行为: 运行。
定义类其实就是在定义类中的成员。
成员:成员变量<-->属性,成员函数<-->行为。属性对应是类中变量,行为对应的类中函数或方法。
其实定义类,就是在描述事物,就是在定义属性和方法,属性和行为共同成为类中的成员(成员变量和成员方法)。
类中不必有主函数,不必保证独立运行,只有保证有一个主函数入口调用类就行。
复制代码
- <font face="Arial">//描述汽车类
- class Car{
- //描述汽车的颜色
- String color ="red";
- //描述汽车的轮胎数
- int num=4;
- //描述车的运行
- void run(){
- System.out.println("color="+color+"..."+"num="+num);
- }
- }
- class CarTest{
- public static void main(String[] args){
- //生成汽车,在Java中通过new操作符来完成
- //其实就是在堆内存产生一个实体
- Car c = new Car();//为什么要加括号呢?
- //c就是一个类类型变量记住:类类型变量指向对象
- //需求:将已有车的颜色改成蓝色,指挥该对象做使用,在Java中指挥方式是:对象.对象成员
- c.color = "bule";
- c.run();//color=bule...num=4
- new Car().color="green";//匿名对象,不过调用匿名对象的属性没有意义。
- new Car().run();//匿名对象调用方法,只调用一次。打印的结果是color=red...num=4
- method(new Car()); //可以将匿名对象作为实际参数进行传递
- } </font>
匿名对象,没有名字的对象 。
new Car();//匿名对象。其实就是对象的简写格式。
1, 当对象对方法仅进行一次调用的时候,就可以简化成匿名对象。
2, 匿名对象可以作为实际参数进行传递。
注意:调用匿名对象的属性是没有意义
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |