黑马程序员-java基础学习03-面向对象基础

来源:互联网 发布:拼音读法软件 编辑:程序博客网 时间:2024/05/27 19:26

  ------- android培训、java培训、期待与您交流! ----------

1、面向对象是相对面向过程而言的。

      面向过程强调的是功能行为,面向对象是将功能封装进对象,强调具备了功能的对象。

      面向对象是基于面向过程的。

2、面向对象的特征:封装,继续,多态。

      封装原则:a、将不需要对外提供的内容都隐藏起来。b、把属性都隐藏,提供公共方法对其访问。

3、构造函数的特点:a、函数名与类名相同。b、不用定义返回值类型。c、不可以写return语句。

      其作用是给对象进行初始化。

      构造函数的小细节:

      当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数。

      当在类中自定义了构造函数后,默认的构造函数就没有了。

 4、this关键字

       this关键字代表其所在函数所属对象的引用,当在函数内需要用到调用该函数的对象时,就用this。 

       this语句只能定义在构造函数的第一行。因为初始化要先执行。

       class Person

          {

                      Person(int age)
                            {
                                this.age = age;
                              }

           }

5、static关键字:

       用于修饰成员(成员函数和成员变量)

       被修饰 后的成员具备的特点:a、随着类的加载而加载。b、优先于对象存在。c、被所以对象所共享。d、可以直接被类名调用。

       注意:静态方法只能访问静态成员、静态方法中不可以写this,super关键字、主函数是静态的。

       什么时候使用静态变量?

       当对象中出现共享数据时,该数据被静态所修饰。

       对象中的特有数据要定义成非静态存在于堆内存中。

       什么时候定义静态函数?

       当功能内部没有访问到非静态数据(对象的特有数据),那么该功能可以定义成静态的。

6、匿名对象

      new Car().run();

      匿名对象使用方式一:当对对象的方法只调用一次时,可以用匿名对象来完成,这样写比较简化。

      如果对一个对象进行多个成员调用,必须给这个对象起个名字。

      匿名对象使用方式二:可以将匿名对象作为实际参数进行传递。

7、继承

       继承的出现提高了代码的复用性。

       继承的出现让类与类之间产生了关系。

       继承的特点:java只支持单继承,不支持多继承(一个类只能有一个父类,不可以有多个父类)。

       class SubDemo extends Demo{}

8、函数覆盖(override)

      子类中出现于父类一模一样的方法时,出现覆盖,也称重写或复写。

      父类中的私有方法不可以被覆盖。

      在子类覆盖方法中,继续使用被覆盖的方法可以通过super.函数名获取。

      覆盖时,子类方法权限要大于父类的权限。

      静态只能覆盖静态。

      注意:重载:只看同名函数的参数列表。

                  重写:子父类方法要一模一样。

 

原创粉丝点击