面向对象(上)

把一个整体封装成一个对象些方法时调用

类:

  具有某一些特征的事物;

对象:

  这一类事物的一个具体存在;

成员变量(属性,静态属性):

  类里面一个属性(标志);

成员方法(方法,动态属性):

  类里面的一个方法;

局部变量:

  方法里的一个变量;

特点:

  封装:

     把一类事物封装成一个类;

  继承:

     父类的方法属性子类继承;

  多态:

    同样的事物具有不同的表现形式;

作用范围:

  整个类;

类和类之间的关系:

  关联关系:

    类与类之间的连结,关联关系使一个类知道另外一个类的属性和方法;

    通常含有“知道”,“了解”的含义。关联可以是双向的,也可以是单向的

  *继承关系(extends):

    子类继承父类;

     teacher 继承 person;

     例:老师是一种人;

  聚合关系:

      聚集:

        必须有但不重要;

        学生--->班级;

      组合:

        必须有且很重要;

        头------>人;

  *实现关系(implements):

      定义接口;

      由其他类实现;

类的封装:

  把成员变量定义成私有的,提供一个公共的方法用来操作变量的值(get,set方法);

封装:

  把一个过程定义成一个方法;

创建对象

  类名 变量名 = new 类名();

构造方法:

  用来构造一个对象的方法;

  ·public a(){

  }

  1,构造方法没有返回值,不能写void;

  2,构造方法名与类名必须一模一样

  3,定义一个类的时候,如果没有写任意的一个构造方法,则默认生成一个空参的构造方法;

  4,当一个类中含有任意一个构造方法时,空参的构造方法会消失;

  5,如果要调用空参的构造方法需要重现写出来;

构造方法的重载:

  方法名相同参数列表不同;

  this关键字:

  当前对象的引用;

  大多数情况是用来解决闯入的参数和成员变量重名的情况;

  可以从通过this关键字来调用当前类中的其他的构造方法;

  写法:

    this();

super关键字:

  指向父类对象的引用;

  写法:

    调用方法;

      super.方法名();

    调用构造方法:

      super();

static关键字;

  表示静态的,可以修饰变量(成员变量,方法,类);

  修饰变量:

    static修饰的变量不在栈也不在堆而是在数据区;

    不管实例化多少个对象,所有对象都共享一份;

    *一般用类名调用

    不需要实例化;

  修饰方法:

    用途:做一些工具类的使用;

    *一般用类名调用;

    静态的方法(static)不能访问非静态的的成员;

单例模式:

  饿汉式:

    类中实例化对象;

      public class Car{

       private  static Car  car = new Car(); 

       public static Car getCar(){

         return car        

       }

    }

  懒汉式:

    什么时候用 什么时候实例化;

      public class Car{

       private  static Car  car; 

       public static Car getCar(){

        if(car == null){

          car = new Car()

        }

         return car        

       }

    }

 

  

posted @ 2018-08-23 14:11  k丶灵  阅读(110)  评论(0编辑  收藏  举报