面向对象:
面向对象是相对面向过程而言的;
面向对象和面向过程都是一种思想;
面向过程强调的是功能行为,例如:把大象装进冰箱里,打开冰箱,放入大象,关上冰箱。强调的是打开,放入,关闭的动作;
面向对象将功能封装进对象,强调具备了功能的对象,将冰箱作为对象,那么它有的功能就是,冰箱.打开,冰箱.放入,冰箱.关闭。
面向对象是基于面向过程的
写程序先找对象,没有对象就自己创建一个对象;
名词提炼法
例如:人开门
人
{
开门(门)
{
门.开门();
}
}
门
{
开门(){}
}
面向对象三大特征:封装,继承,多态。
类:对现实生活种事物的描述-------class定义的类
对象:就是这类事物,实实在在存在个体------对应java在堆内存中用new建立实体。
例如:汽车类
描述事物其实就是在描述事物的属性和行为;
属性对应类中的变量,行为对应类中的函数(方法)。属性和行为是类的成员。
Class Car
{
Stringcolor = “红色”;//汽车颜色
Int num =4; //汽车轮子的数量
void run() //汽车的行为
{
System.out.println();
}
}
成员变量和局部变量:
成员变量作用于整个类中,局部变量作用于函数中或语句中;
成员变量在堆内存中,因为对象的存在才在内存中存在,局部变量存在栈内存中;
匿名对象:
new Car(); //匿名对象,没名字
匿名对象调用属性没意义
匿名对象使用方式:
当对象的方法只调用一次时,可以用匿名对象来完成,这样写比较建华。
如果对一个对象进行多个成员调用,必须给这个对象起个名字;
可以将匿名对象作为实际参数进行传递。
Car有一个Show(Carc)方法,在主函数中就可以:show(newCar());
public static voidshow(Car c){
c.color=”blue”;
c.num=”5”;
}
Public static voidmain(String []args)
{
Car c = new Car();
show(c);
//show(new Car());
}