黑马程序员——java基础--面向对象概述、构造函数

时间:2020-12-23 00:42:34
------ Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------


1、面向对象概述

   1)面向对象是相对面向过程而言;

   2)面向对象和面向过程都是一种思想;

   3)面向过程:强调的是功能行为;

      面向对象:将功能封装进对象,强调具备了功能的对象;

   4)面向对象是基于面向过程的;

   5)面向对象三个特征:封装、继承、多态。

2、类与对象关系

   类就相当于对现实生活中实物的描述,对象就是这类事物实实在在存在的个体;类类型变量指向对象。

3、成员变量与局部变量

   成员变量作用与整个类中,存堆内存,因对象存在才存在;

   局部变量作用于函数或语句中,存栈内存。

4、匿名对象

   是对象的简化形式;

   两种使用情况:

       1)当对对象方法,仅进行一次调用时;

       2)可以作为实际参数进行传递。

5、封装

    是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。这样将变化隔离,便于使用,提高重用性和安全性。

封装原则:

    1)将不需要对外提供的内容都隐藏起来;

    2)把属性都隐藏,提供公共方法对其访问。
6、关键字(private)

private是私有的意思,它是权限修饰符,用于修饰类中的成员(成员变量,成员函数),被修饰的成员只在本类中有效。

私有仅仅是封装的一种表现形式。其可以在访问方式中加入逻辑判断语句,对访问的数据进行操作,提高代码的健壮性。
7、构造函数
   1)特点:

  A、函数名与类名相同;

  B、不用定义返回值类型;

  C、不可以写return语句。
   2)作用:给对象进行初始化。对象一建立就会调用与之对应的构造函数。

3)注意:默认构造函数的特点,空参数的构造函数;

         多个构造函数是以重载的形式存在的。

4)不同点:

   A、构造函数和一般函数在写法上不同;

   B、在运行上也有不同。构造函数是在对象一建立就运行,给对象初始化。

而一般函数是对象调用才执行,是给对象添加对象具备的功能;

   C、一个对象建立,构造函数只运行一次,而一般函数可以被该对象调用

多次。

5)什么时候定义构造函数?

   当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定

义在构造函数中。

6)构造代码块:

   构造代码块作用是给对象进行初始化,对象一建立就运行而且优先于构

造函数运行。

   其和构造函数的区别:构造代码块是给所有对象进行统一初始化,而构

造函数是给对应的对象初始化。
8、this关键字

是用以区*部变量和成员变量同名情况。

1)this代表本类的对象,它所在函数所属对象的引用。简单说就是哪个对象调用this,this就代表哪个。this可用于构造函数中,调用类本身重载的构造函数,但必须写在第一行。

2)当定义类中功能时,该函数内部要用到调用函数的对象时,这时用this来表示这个对象,但凡本类功能内部使用了本类对象,都用this表示。

3)this语句不能用于一般函数,用于构造函数间进行互相调用,只能定义在构造函数第一行。
例:比较两个人的年龄
class  Person
{
     private  String name;

     Private int  age;

     Person(int  age)

    {

       this.age =age;

    }

    public  boolean  compare(Person  p)

   {

         return  this.age = age;

    }
}
class  personDemo
{
       public  static void  main(String[ ]  args)

      {

           Person  p1  =new Person(20);

           Person  p2 = new Person(25);

           Boolean  b = p1.compare(p2);

           System.out.println(b);

     }
}