面向对象思想

特点

  • 面向对象是一种常见的思想,符合人们的思考习惯
  • 面向对象的出现,将复杂的问题简单化
  • 面向对象的出现,让曾经在过程中的执行者,变成了面向对象思想中的指挥者

面向对象三大特征

  • 封装
  • 继承
  • 多态

使用面向对象思想,首先先要确定有哪些对象,然后再去判定对象的功能,比如说:人开门。这里有两个对象:人和门,那么,开门这一行为是人的功能还是门的功能呢?这里用个简单的方法:谁最清楚,这功能就是谁的。那这里应该是门最清楚怎么开门,人最清楚的是如何使力开门。

类与对象的关系

类:用java语言对现实生活中的事物进行描述,通过类的形式来体现

如何用计算机语言描述呢?
对于事物的描述通常只关注两方面:属性和行为。只要明确该事物的属性和行为并定义在类中即可。
定义类就是在定义类中的成员

  • 成员:成员变量<-->属性 成员函数<-->行为

对象:其实就是该类事物实实在在存在的个体
两者之间的关系:

  • 类:事物的描述
  • 对象:该类事物的实例,在java中使用new关键字来创建。

成员变量和局部变量的区别:

成员变量定义在类中,整个类中都可以访问。
局部变量定义在函数,语句,局部代码块中,只在所属的区域有效。

成员变量存在于堆内存的对象中。
局部变量存在于栈内存的方法中。

成员变量随着对象的创建而存在,随着对象的消失而消失。
局部变量随着所属区域的执行而存在,随着所属区域的结束而释放。

成员变量都有默认初始化值。
局部变量没有默认初始化值。

匿名对象

    匿名对象:没有名字的对象 。
    new Car();//匿名对象。其实就是定义对象的简写格式。
    Car c = new Car();
    c.run();

    new Car().run();

    1,当对象对方法仅进行一次调用的时候,就可以简化成匿名对象。
    
    new Car().num = 5;
    new Car().color = "green";
    new Car().run();

    2,匿名对象可以作为实际参数进行传递。     

    //Car c1 = new Car();
    //show(c1);
    show(new Car());

基本和引用类型参数传递

基本和引用类型参数传递图解.jpg

你可能感兴趣的:(面向对象思想)