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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© luguoyuanf 中级黑马   /  2013-3-28 21:00  /  1354 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

        

        4.1类的继承
          4.1.1 继承的概述
                            关键字:extends
                            继承以后自己会拥有父类中的成员变量和成员函数(不是全部)
                            好处:
                            1)代码量简化,自雷直接拿父类的使用
                            2)继承的出现使类与类之间产生了关系,正是因为这个关系,导致了面向对象的第三个特征----多态
                            前提:
                            只支持单继承,一个类只能继承一个类,多继承有安全隐患
                            注意:Java中是支持多线继承.
                            继承体系:父类都是子类中共性的内容
          4.1.2 继承应用场景
                            判断一个事物是否属于另一个事物的一种时,可以使用继承.
          4.1.3 父类中成员变量特点
                            关键字:super
                            this表示本类的对象引用,区别成员变量和局部变量重名.(非静态)
                            super便是父类的存储空间,区别的是子类中和父类中重名的成员变量(非静态)
                            注意:静态内不允许包含this,super关键字
                            子类和父类都存储在子类对象中存储,父类的成员变量是super,子类的是this.
          4.1.4 子父类中的成员函数的特点
                            子类和父类中出现了一模一样的函数,看上去像是子类的函数覆盖了父类的函数这个现象,这就是函数的另一个特性,覆盖,重写.简单可以说子类覆盖父类的函数
          4.1.5 子父类中构造函数特点
                            构造函数不能继承
                            父类的构造方法先运行,之后再运行子类的构造方法
                            原因在于子类的构造函数的第一行有一行隐士代码super();
                            子类中的所有构造方法,都默认访问父类空参的构造方法
                            this在构造函数之间进行调用
                            子类中的构造函数都默认的访问父类空参数构造方法
                            使用super(参数),访问中有参数的构造方法
         4.1.6final关键字
                            主要用来锁定变量初始化赋值,不是默认值
                            Java中声明类,属性和方法时,可使用关键字final来修饰
                            final标记的类不能被继承
                            final标识的方法不能被子类重写
                            final标识的变量(成员变量或局部变量)即成为常量,只能赋值一次
         4.2.1抽象类(abstract)
                            定义一些不含方法体的方法,,它的方法体的实现交给该类的子类根据自己的情况去实现,这样的方法就是抽象方法,包含抽象方法的类叫抽象类
                            抽象类定义规则:
                            1)抽象类必须用abstract关键字来修饰,抽象方法也必须用abstract来修饰
                            2)抽象类不能被实例化(就是不能被new新建对象)
                            3)抽象方法只需声明,而不需实现
                            4)含有抽象方法的类必须被声明为抽象类,抽象类的子类必须覆盖该抽象方法才能被实例化
                            抽象方法的写法
                            abstract返回值类型 抽象方法 (参数列表)
                            抽象类特点:
                            1)抽象类中没有构造方法
                            虽然抽象类不能实例化对象,但是构造函数可以为子类提供变量的初始化赋值
                            2)抽象类中可以没有抽象方法,GUI图形化界面就有体现
                            3)抽象类关键字,abstract不可以跟final private关键字共存
                            final修饰的方法不能被覆盖,但是抽象方法需要子类覆盖.
                            private修饰符对变量私有了,abstract需要直接子类覆盖
                            方法的覆盖前提:
                            1)方法没写任何权限修饰符,默认就是default权限,小于public
                            2)子类覆盖父类抽象方法时,权限必须大于或者等于父类方法权限
                           

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马