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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zjj5669436182 中级黑马   /  2017-12-7 21:34  /  1351 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

就业班学习(继承)
作者:一衡
今天主要学习Java语言的特点中的第二个特性:继承(Java语言特点封装、继承、多态)。其他关键字(extendsabstract superfinal
一、继承
1、继承的概述及继承思想
继承描述的是事物之间的所属关系,通过继承可以使多个事物之间形成一个关系体系。继承思想是为(is a 的思想)。
格式为:
class 子类 extends 父类 {}
2、继承特点
A、只支持单继承不支持多继承,但支持多层继承,一个父类可以被多个子类继承。
B、只能继承父类中非私有的成员(成员变量,成员方法)。
C、方法重写(也叫覆盖)子类中的方法和父类中的方法完全一样(方法名,参数列表)。方法重写的应用场景主要在于,当父类中的方法不能满足子类需求时,就需要方法重写。
注意事项:A、不能重写父类的私有方法(特点B可以解释)。
  B、子类的权限必须大于等于父类的权限(子类是父类的加强版)。
  C、父类的构造方法不能被继承。(结合继承特点B记忆)
3、注解
@开头(例如@Override(后面跟方法重写),@overload方法重载))
4、继承中成员变量特点(关键字,this & super
A:子类只能获取父类非私有成员
    子父类中成员变量的名字不一样直接获取父类的成员变量
        子父类中成员变量名字是一样的获取的是子类的成员变量
  
    B:就近原则:谁离我近我        就用谁
        如果有局部变量就使用局部变量
        如果没有局部变量,有子类的成员变量就使用子类的成员变量
        如果没有局部变量和子类的成员变量,有父类的成员变量就使用父类的成员变量
C: super:可以获取父类的成员变量和成员方法,用法和this是相似的
5this super的区别。
this:当前对象的引用
                        调用子类的成员变量
                        调用子类的成员方法
                        在子类的构造方法第一行调用子类其他构造方法
super:子类对象的父类引用
                        调用父类的成员变量
                        调用父类的成员方法
                        在子类的构造方法第一行调用父类的构造方法
结论(继承中构造方法的执行结构):在类中创建子类对象调用子类构造方法。如果子构造方法第一行的执行语句如果没有任何调用,则会先调用父类无参构造。
父类无参构造----子类有参构造----子类无参构造。第一行执行语句thissuper只能出现一个。
6、final关键(最终)
final可修饰类、成员变量、成员方法
A、final修饰的类不能被继承。
B、Bfinal修饰的方法不能被重新。
Cfinal修饰的成员变量不能被修改。
Dfinal修饰引用数据类型,地址值不可被修改。但是堆内存中的值可以改变.
注:final修饰的成员变量是一个自定义常量,自定义常量必须初始化,可以选择显示初始化或者构造初始化。
7、继承的优点和缺点
优点:提高代码的复用性,可维护性。
缺点:增强了类与类之间的耦合性。
引入性的编程思想:高内聚低耦合。
二、匿名对象
1、匿名对象定义:名义名字的对象
格式: new 对象();
2、应用场景
当方法只调用一次时。
注意事项:匿名对象可以调用成员变量并赋值,但是无实际意义,可做参数的传递。
三、抽象类(关键字abstract
1、作用场景:只能修饰类和成员方法。强制子类做什么事情。
注意事项:
A、类中含有抽象方法,类也必须是抽象类。但是抽象类不一定含有抽象方法。
B、抽象类不能创建对象(不能实例化,要想使用,可以使用多态或者)
C、一个类继承了抽象类,那么子类必须重写抽象类中所有的抽象方法。
D、abstract不能喝finalprivatestatic关键一起出现。

3 个回复

倒序浏览
good good study day day up
回复 使用道具 举报
哇,感觉不错呢,好多东西啊
回复 使用道具 举报
good!总结得不错
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马