美文网首页
7.封装、继承、抽象类

7.封装、继承、抽象类

作者: 你来听我说 | 来源:发表于2016-11-16 21:28 被阅读0次

    1封装的概念

    私有化类中的成员属性

    提供公开的get/set方法

    2访问控制修饰符

    public公开的

    缺省的

    protected受保护的

    private私有的,私有的成员和方法,只能在本类中访问

    3 get/set方法

    get方法:获取成员变量的值

    set方法:设置成员变量的值

    通过eclipse可以自动生成get和set方法

    二继承

    子类继承父类,子类就拥有过了父类的成员变量和方法

    1生活中的继承

    如,子女继承父母的财产,子女就拥有了这些财产

    生物

    植物动物

    爬行动物哺乳动物

    猴类人类

    男人女人

    2代码中表现继承关系

    子类,派生类

    父类,超类,基类

    创建子类对象的过程:

    Animal的静态代码块

    Bird的静态代码块

    Animal的构造代码块

    Animal的构造方法

    Bird的构造代码块

    Bird的构造方法

    3方法的重写override

    重载(overload)

    4 final关键字

    在Java中,声明类、属性和方法时,可使用final修饰符来修饰。final表示最终、不可改变,即为常量的意思。具体如下:

    final标记的类不能被继承。

    final标记的方法不能被子类重写。

    final标记的变量(成员变量或局部变量)即为常量,必须在声明时赋值,且之后不能改变。

    局部变量,形参

    成员变量必须在声明时或在每个构造方法或对应语句块中显式赋值(不会被默认初始化),才能使用。

    三抽象类

    abstract

    1抽象类

    应用场景:当每个子类有自己独特行为的时候,父类不需要提供具体的实现,只用规定每个子类拥有这个能力就可以了。此时,父类可以声明为抽象类,该行为(方法)可以声明为抽象方法。

    语法:

    [修饰符] abstract class 类名{ …}

    [修饰符] abstract 返回值类型  方法名([形参列表]);

    理解:抽象类,抽象方法可以理解为“还没有竣工”的类,方法,需要其他类(子类)重新完善(重写)

    2抽象方法

    抽象方法是没有方法体的方法,抽象方法必须包含在抽象类中

    抽象类可以包含或不包含抽象方法,也可以包含或不包含普通方法

    抽象类不能直接实例化,如Ab a = new Ab();

    但是仍然有构造方法,子类继承抽象类后,构造方法的执行顺序和普通类相同

    抽象类可以被继承,此时子类必须全部重写父类的抽象方法,否则子类也必须声明为抽象类

    可以声明抽象类类型的引用,把它作为方法形参,返回值类型等

    相关文章

      网友评论

          本文标题:7.封装、继承、抽象类

          本文链接:https://www.haomeiwen.com/subject/lpwrpttx.html