A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 丶唯萌Pro 中级黑马   /  2017-10-19 22:13  /  829 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

继承
        定义:
                多个类有共同的成员变量与成员方法,抽取到另外一个类中(父类),再让多个类去继承这个父类,
                我们的多个类就可以获取到父类中的成员了
        注意:
                构造方法不能够继承。
        关键字:
                extends
        特点:
                java中只支持单一继承,不支持多继承。
                java语言支持多层继承。
        继承中成员变量的特点
                子类只能获取父类非私有成员
                成员变量的名字不一样直接获取父类的成员变量
                子父类中成员变量名字是一样的获取的是子类的成员变量
               
        就近原则:
                谁离我近我就用谁
                如果有局部变量,就是用局部变量
                如果没有局部变量,有子类的成员变量就使用子类的成员变量
                如果没有局部变量和子类的成员变量,有父类的成员变量就使用父类的成员变量
                如果还没有,就报错了
        关键字:
                super:可以获取父类的成员变量和成员方法,用法和this是相似的
        继承中成员方法的特点
                子类中没有这个方法,调用父类的
                子类中重写了这个方法,调用子类的
        方法的重写:
                在子父类中,子类的方法和父类的方法完全一样,子类重写了父类的方法(覆盖),
                当子类重写了父类的方法之后,使用子类对象调用的就是子类的方法
        方法的重载:
                在一个类中,有多个重名的方法,但是其参数不一样
        方法重写的应用场景:
                当父类中的方法不能完全满足子类的使用,这个时候子类重写父类的方法,这个时候子类重写父类的方法,
                并可以在方法中使用关键字super调用父类的方法,这样做既可以包邮父类的功能,也可以拥有子类特有的功能。
        方法重写的注意事项:
                不能重写父类中的私有方法
                权限必须大于等于父类方法的权限
        注解:
                @:
                        @Override:强制重写。
        继承中的构造方法的执行顺序:
                在有子父类继承关系的类中,创建子类的对象,调用子类的构造方法,如果子类构造方法的第一行代码没有调用父
                类的构造方法,则会默认的调用父类的无参构造
                肯定会执行父类的构造方法,因为要先给父类的成员变量进行初始化,子类可能会使用到。
        我们可以使用super()子类构造方法的第一行中调用父类的构造方法。
        this 与 super的区别:
                this:当前对象的引用。
                        调用子类的成员方法
                        调用子类的成员变量
                        在子类的构造方法第一行调用子类其他的构造方法
                super:子类对象的父类引用
                        调用父类的成员方法
                        调用父类的成员变量
                        在子类的构造方法第一行调用父类的构造方法
        继承的优缺点:
                优点:
                        提高了代码的复用性
                        提高了代码的可维护性
                缺点:
                        类的耦合性增强了
                        开发原则:高内聚,低耦合。
                        内聚:就是自己完成某件事情的能力
                        耦合:类与类的关系
        匿名对象:
                没有名字的对象
                没有变量引用的对象
        匿名对象的应用场景:
                当方法只调用一次的时候可以使用匿名对象。
                可以当作参数进行传递,但是无法在传参之前做其他事情。
        final修饰符:
                可以用于修饰类,成员方法和成员变量。
                final所修饰的类:不能被继承,不能有子类。
                final所修饰的方法:不能被重写
                final所修饰的变量:不能被修改。是常量。
        常量:
                字面值常量:1,2,3,4
                自定义常量:被final所修饰的成员变量,一单初始化就不能被修改
                注意:
                        自定义常量必须初始化,可以选择显示初始化,或者构造初始化
        2017/10/1
        抽象类:
                有抽象方法的类,必须是抽象类
                注意:一个类继承了抽象类,必须重写父类中的抽象方法。否则这个类就得是抽象类。
                abstract关键字:
                        用于修饰方法和类
                        抽象方法:
                                不同类的方法是相似的,但是具体内容又不太相同,所以我们只能抽取他的声明,
                                  没有具体的方法体,没有具体方法体的方法就是抽象方法
                抽象类的特点:
                        抽象方法只能在抽象类中
                        抽象类与抽象方法必须被abstract修饰
                        抽象类不能创建对象,也称为不能实例化。
                        抽象类中可以有非抽象方法。//非抽象方法,子类可以不用重写
                        抽象类和类的关系也是继承
                        一个类继承抽象类要么重写所有的抽象方法,要么他自己是抽象类
                抽象类的成员特点
                        成员变量:
                                可以有成员变量
                                可以有常量
                        成员方法:
                                可以有抽象方法
                                可以有非抽象方法
                        构造函数:
                                抽象类可以有构造方法,
                                需要对抽象类的成员变量进行初始化
                final:修饰类,成员变量,成员方法。被修饰的类不能被继承
                教师案例:
                        有两个老师,基础班老师,就业班老师
                员工实例:
                        需求:
                                公司中
                                        程序员 姓名,工号 薪水 工作
                                        项目经理 姓名 工号 薪水 工作 还有奖金
                抽象类的细节
                        抽象关键字abstract不可以和那些关键字共存?
                                final private static
                        抽象类中是否有构造函数
                                有。需要给成员变量进行初始化。
                        抽象类可不可以没有抽象方法?
                                可以。
                                作用就是不实例化,和私有化构造方法相同
                抽象类的思想
                       

4 个回复

倒序浏览
文学兄厉害

点评

跟大佬学习。  发表于 2017-10-20 15:23
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
这是就业班的第二天吗

点评

嗯嗯,是的。  发表于 2017-10-20 15:24
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马