• 封装.继承.多态


    封装

    1.封装:隐藏类内部细节

    2.封装 步骤

      第一步:将属性私有化.(private)

      第二步:提供getter/setter方法(getXxxx(),setXxxx()).

      第三步:在getter/setter中加入控制语句.

    3. this关键词

      this:表示当前对象.

      调用属性:this.属性名

      调用方法:this.方法名();

      this():表示调用构造函数.

    注意:this(),必需写在构造函数的第一行.

    继承(extends)

    1. 继承:遗传

    2. 语法

      public class 子类 extends 父类{

        //代码块

      }

    例:public class Dog extends Pet {

        //代码块

    }

    3. 继承的特点

      a.子类可以继承父类的非私有的属性和方法

      b.不能继承构造方法

      c.继承默认权限修饰符的方法和属性,子类和父类必需在同一包中

    4. super(父类)

      super.属性名; //表示访问父类的属性

      super.方法名(参数); //表示访问父类的方法

      super(参数);//表示访问父类的构造函数;

    注意:super()访问父类构造函数时,必需写在第一行;

    多态

    1. 多态含义:一个事物的多种形态

    2. 多态的表现

      行为(方法)多态:重写和重载.

      引用多态(动态绑定):编译时的类型和运行时不一致的这种现象叫做动态绑定.

      例:父类 = 子类.

        pet p = new Dog();

    3.向上转型和向下转型

      向上转型:父类 = 子类;

      向下转型:子类 = (子类)父类;

      例:Dog d = Dog()p;

    注意java.lang.ClassCastException:类型转换异常.

        父类的运行时类型跟要转成的子类的类型不一致

    注意:引用多态存在继承关系

    instanceof

      语法:对象A instanceof 类型B;

      判断对象A的类型是否是类型B,如果是就返回true,否则返回false.

      例:d instanceof Dog

    实现多态的两种形式

      a.使用父类作为方法形参实现多态

        public void play(Pet p){}

      b.使用父类作为方法返回值实现多态

        public Pet getPet(int type){}

    Hold on!
  • 相关阅读:
    .net core 支付宝,微信支付 一
    .net core AES加密解密及RSA 签名验签
    .net core 使用webservice
    .net core 使用X509 私钥加密请求
    .net core mysql entity映射时字符串被截断
    VS 2017 RC .net core ef+ MySql 出现错误
    IdentityServer4 简单使用,包括api访问控制,openid的授权登录,js访问
    iOS面试题之内存管理
    iOS之tableView性能优化/tableView滑动卡顿?
    iOS面试题之runloop
  • 原文地址:https://www.cnblogs.com/linjiaxiaomeiainia/p/6832929.html
Copyright © 2020-2023  润新知