封装,继承,多态

一,封装

  1,属性封装:

    将属性私有化,并对外提供一对公共的getset方法。

    get 用来获取私有属性。set 用来修改设置私有属性。

  ★,实体类:当类中只有一些私有属性,get方法,set方法,和构造器,并没有自定义方法。

    它最主要是用来存储数据的。

 

二,包

  1,包的声明:

    package  路径;

    包声明必须在除注释外的第一行。

  2,导包

    当我们使用的类和当前类不在同一个包下的时候,必须要 inport 导包。

    导包必须在包声明下面,类的上面。

    ★,当使用 java.long 包下的类时,可以不导包。

    ★,常用系统包:

      java.util java    通用工具包

      java.sql       操作数据库类的包

      java.mach        一些数学操作类的包

      java.io       一些输入输出操作类的包

 

三,继承

  定义:如果多个类有一些共同的属性和行为,我们就把这些公共的东西提取到一个类中,然后这 些类去继承这个公共类。公共类成为父类,或超类。

  注意点:

    1,继承只能单继承。1个子类只能继承1个父类,即只能有一个直接父类。

    2,可以多层继承,单不能多继承。

    3,子类能继承父类非私有的属性和方法,不能继承构造器,但可以调用父类构造器。

      super(); 等同于   new Car();

    4,当两个类存在继承关系时,一旦我们new了一个子类构造器,先执行父类构造器里的代码,再执行子类构造器里的代码。

    5,隐式调用:子类会默认调用父类的无参构造器。

    6,显式调用:super. 调用哪个构造器,就执行那个构造器里的代码。

    7,不管显式,隐式那种调用,super[参数]); 必须在构造器的第一行。

      ★super用法:

        1,指代的是父类对象(前提是有继承关系)。只要有继承关系,每个子类中都隐含一个

          super(),等同于 new Car();

        2super 可以调用属性,方法,构造器。

        3superthis 都不能在static修饰的方法中使用。

 

四,static 修饰符:

  用来修饰:1,修饰变量,修饰变量时叫做类变量。}

          2,修饰方法,修饰方法时叫做类方法。}类变量,类方法,他们成为类成员。

          3,修饰代码块。只有方法体,没有返回值,方法名的方法体。

             a,静态代码块优先执行于main方法。

             b,静态代码块非常消耗内存。

      ★,不被static修饰的属性和方法,我们称之为实例变量,实例方法,他们为实例成员。

  主要用法:

    1,在实例方法中,可以调用实例成员和类成员。在static方法中,只能调用类成员。

    2,被static修饰的成员变量的值被所有对象所共享。

    3,被static修饰的变量可以通过类名去调用。  类名.变量名;

    ☆final 修饰符用法:

      1,修饰变量,变量会变为常量。

      2,修饰方法,方法就变成最终方法了,这个方法不可以被重写。

      3,修饰类,类就成为最终类,这个类不能被继承。

 

五,方法重写 override

  定义:当父类里的方法无法满足子类需求是,子类去重新定义这个方法类覆盖父类方法,这个过程我们称之为方法重写。

  注意点:

    1,必须满足继承关系。

    2,方法名必须相同

    3,参数必须和父类参数保持一致

    4,返回值类型和父类相同,或是其子类。

    5,修饰符访问权限范围大于等于父类修饰符访问范围。

 

六,转型

  ★== 用来比较基本数据类型。 equals 用于比较对象。

  ★对象 instanceof  。判断前面对象是否是后面类的一个实例对象。

  ★,继承关系下才能转型:

    1,子转父    向上转型 Object o=Person p; 自动类型转换

    2,父转子 向下转型 Person p=Persono; 强制类型转换

 

七,多态

    父类.对象名=new  子类构造器();

    对象.方法();   调用的是子类重写后的方法。

  注意:

    1,必须存在继承关系

    2,方法重写

    3,向上转型

  多态主要应用:

    1,父类主要作为方法的形参

    2,父类主要作为方法的返回值

posted @ 2019-05-17 18:10  听说名字长的人都非常厉害  阅读(126)  评论(0编辑  收藏  举报