面向对象编程(上)

                       面向对象编程

面向对象的特性:

抽象:

         将现实世界中的实物描述为系统中的类,对象的及方法的过程,在这个过程中除去了不相关的数据和信息,保留的数据用来实现系统的功能.

封装:

     将对象实现的细节隐藏起来(用户无需知道这些细节),只提供一些公共的方法将对象的功能表现出来.

继承:

  面向对象实现软件复用的重要手段,利用继承人们可以基于已经存在的类构建一个新类

   子类继承已经存在的类就是复用父类的方法和属性,除此之外,子类还可以添加一些新的方法和属性来满足新的需求.

多态

  多态使java更加生命和鲜活起来,多态指子类对象可以直接赋值给父亲变量,但是运行时依然表现出子类的特性.java

   引用变量有两种类型,分别是编译时类型和运行时类型由赋值对象类型决定,如果编译时类型和赋值是类型不一致,就会出现所谓多态..

如何创建一个类:

        限定范围修饰词    class   类名{

       类体

}

类中包含有属性和方法

            属性用来描述得是一些静态的信息特征;

            方法用来描述得是一些动态的行为特征;

如何构建对象

            类名 对象名=new 构造方法(参数);参数可有可无

           Scanner scanner=new Scanner(System.in);

          Random random=new Random();

如何定义属性:

        修饰词   属性类型    属性类名;

如何使用属性:

         对象名.属性名

      eg:person.age=18;

如何定义方法:

修饰词   返回值类型    方法名(参数){

         方法体;

         return与返回值类型相同的结果值

}

返回值类型就是调用完方法之后得到什么类型的结果,如果返回值类型为void,意思则是不反回任何内容,而不是说没有返回值类型.


参数:可有可无,看情况..

return关键字,如果不反悔任何内容,则return关键字可以省略不写


如何使用方法:

           对象名.方法名();

           eg:Person person=new Person();

            person.say();

方法之间可以相互调用,但是不能够嵌套来定义




        一个对象在不同的时候可以拥有多个引用,但是,在同一时刻,一个引用只能拥有一个对象,如果有一个引用对对象

进行了修改,那么将影响到其他引用.

        在同一类中,构建出来的每个对象各自拥有一套属性,相互之间不受影响.

         在同一类中,每个构建出来的对象都各自拥有一套属性,但是却是公用类中的方法.这些方法都是储存在一个叫做

方法区的地方.


参数:

       形式参数:方法定义的参数(形参)

                实际参数:调用方法时传递的值(实参)

方法的重载:

      在同一个类中,方法名相同,参数不同(参数的个数不同,参数的类型不同)叫做方法的重载.方法的重载与方法的返回值无关.

限定范围修饰词:

  public                                  共有的                     在整个工程中可以使用                      安全度低

   default(啥也没写)               默认的                      在本类和本包中可以使用

   protected                            受保护的                   在本类和本包中可以使用               

      private                                 私有的                   只能在本类中使用                              安全度高 


重点:如果一个类中我们没有写构造方法,那么系统编译的时候回默认提供一个空参构造方法

         如果我们写了任何一种构造方法,那么系统编译器提供给我们的空参构造方法都将被覆盖掉

               为私有属性赋值的第一种方式是提供对应的setter和getter方法.

          为私有属性赋值的第二方式是使用有参构造方法.


          构造方法的特点:

       构造方法名要与类名完全一致(包括首字母)

       构造方法不能有任何的返回值类型,连void也不能有

       如果我们在一个类中没有些构造方法,如果写了任何一种形式的构造方法,那么java编译器提供的空参构造将被覆盖掉.

      如果一个类中写了多个构造方法,则它们属于构造方法的重载,可以使用this()调用本类中的方法

     构造方法不能够被显示的调用,只能够通过new关键字进行隐式调用


        使用new关键字做了那些事:

           1.为要创建的对象开辟内存空间

           2.调用类的构造方法创建出对象

           3.把对象的地址赋值给声明的引用对象.


空参构造方法:

     构造方法就是创建对象的方法

     在企业开放中我们一般是要写空参构造方法的,即使我们在程序中使用不到.但是,如果我们的程序中明确要求不能够写出空参构造方法,则可以不写.


有参构造

    通过new关键字`构建对象的时候,小括号里面写入的是参数,如果没有参数,直接为空即可,如果有参数,则传递进来的实际参数要与定义时的形式参数保持一致(类型一致,数量一致,顺序一致)


    通过this(参数)调用本类中的构造方法.注意:this(参数)必要写在本构造方法的第一行,也就是说在this(参数)之上不能够有任何的可执行代码.

                                                                                   继承

      继承是面向对象编程思想的重要特性之一,是从已有的类中派出新的类,这个类吸收了其属性和行为特征,可以扩展自己的新能力.这种技术的存在可以大大的提高代码的复用,缩短软件开发的周期,节约了开发成本.

      java语言是面向对象的编程思想的语言,其继承只能够是单继承行为,一个子类只能够拥有一个父类,被继承的这个父类叫做基类.

    在java中为了近似的实现多继承,可以使用实现接口的方式.

     使用extends关键字使用两个建立继承关系,被继承的类叫做父类也叫作基类,继承的类叫做子类,在发生继承关系的时候,是一次性继承所有,而不是有选择的继承.

     私有的属性和私有的方法都不能够被子类继承.


方法的重写:

      方法重写的标识:@Override

       重写的父类与子类方法名完全相同(数目,类型,顺序)

       重写的父类与子类的返回值也必须相同.

       子类的限定修饰词可以与父类的相同,权限必须必父类的大,但是绝对不能小于父类.

      私有的方法即不能被继承也不能被重写;

     最终的方法可以被继承,但是不能被重写;

     使用方法的最终目的:就是为了在子类中改变父类方法的实现.

    





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值