zoukankan      html  css  js  c++  java
  • 封装,继承,多态

    一,封装

      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,父类主要作为方法的返回值

  • 相关阅读:
    iOS 添加微信分享
    IOS学习笔记——ViewController生命周期详解
    UI之CALayer详解(转)
    iOS CALayer讲解
    [leetcode] Minimum Path Sum
    [leetcode]Binary Tree Maximum Path Sum
    我是真的想去google啊
    C++ string 用法详解
    继续存博客
    bash中 2>&1 & 的解释
  • 原文地址:https://www.cnblogs.com/kide1412/p/10882911.html
Copyright © 2011-2022 走看看