面向对象(继承)

来源:互联网 发布:软件项目评分标准 编辑:程序博客网 时间:2024/05/29 05:56
###  继承案例演示
A:继承(extends)
    * 让类与类之间产生关系,子父类关系 
B:继承案例演示:
    * 动物类,猫类,狗类
    * 定义两个属性(颜色,腿的个数)两个功能(吃饭,睡觉)
C:案例演示
    * 使用继承前
D:案例演示
    * 使用继承后
===========================================================================

###  继承的好处和弊端
A:继承的好处
    * a:提高了代码的复用性
    * b:提高了代码的维护性
    * c:让类与类之间产生了关系,是多态的前提
B:继承的弊端
    * 类的耦合性增强了。
    
    * 开发的原则:高内聚,低耦合。
    * 耦合:类与类的关系
    * 内聚:就是自己完成某件事情的能力
===========================================================================

###  Java中类的继承特点
A:Java中类的继承特点
    * a:Java只支持单继承,不支持多继承。
    * b:Java支持多层继承(继承体系)C→B→A.

===========================================================================

###  继承的注意事项
A:继承的注意事项
    * a:子类只能继承父类所有非私有的成员(成员方法和成员变量)
    * b:子类不能继承父类的构造方法,但是可以通过super(马上讲)关键字去访问父类构造方法。
    * c:不要为了部分功能而去继承
    父类先进入方法区,然后子类在进入,父类成员变量随子类成员变量进入堆    
===========================================================================
###  this和super的区别和应用
A:this和super都代表什么
    * this:代表当前对象的引用,谁来调用我,我就代表谁
    * super:代表当前对象父类的引用
B:this和super的使用区别
    * a:调用成员变量
        * this.成员变量 调用本类的成员变量,也可以调用父类的成员变量
        * super.成员变量 调用父类的成员变量
    * b:调用构造方法
        * this(...)    调用本类的构造方法
        * super(...)调用父类的构造方法
    * c:调用成员方法
        * this.成员方法 调用本类的成员方法,也可以调用父类的方法
        * super.成员方法 调用父类的成员方法
    * d:父类没有无参构造方法,子类怎么办?
        * super解决
        * this解决    
        super(…)或者this(….)必须出现在构造方法的第一条语句上
===========================================================================

###  方法重写概述及其应用 
A:什么是方法重写 
    * 重写:子父类出现了一模一样的方法
B:方法重写的应用:
    * 当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法。这样,即沿袭了父类的功能,又定义了子类特有的内容。

===========================================================================

###  方法重写的注意事项
A:方法重写注意事项
    * a:父类中私有方法不能被重写
        * 因为父类私有方法子类根本就无法继承
    * b:子类重写父类方法时,访问权限不能更低
        注意:子类重写父类的方法时,权限必须大于或者等于父类的方法权限.
===========================================================================  

###  方法重写的面试题
A:方法重写的面试题
    * Override和Overload的区别?Overload能改变返回值类型吗?
    * overload可以改变返回值类型,只看参数列表
    * 方法重写:子类中出现了和父类中方法声明一模一样的方法。与返回值类型有关,返回值是一致(或者是子父类)的
    
    * 方法重载:本类中出现的方法名一样,参数列表不同的方法。与返回值类型无关。

    * 子类对象调用方法的时候:
        * 先找子类本身,再找父类。

===========================================================================

###  final关键字修饰类,方法以及变量的特点
A:final修饰特点
    * 修饰类,类不能被继承
    * 修饰变量,变量就变成了常量,只能被赋值一次
    * 修饰方法,方法不能被重写  public static final
    

B:final关键字修饰局部变量
    * 基本类型,是值不能被改变
    * 引用类型,是地址值不能被改变,对象中的属性可以改变
===========================================================================

原创粉丝点击