面向对象的三大特性之--继承

1.继承,extends

  • 方法的重写:
  • 如果子类对继承父类的方法不满意,是可以重写父类的方法的,当调用方法时优先调用子类的方法
  • 语法规则
    a.返回值类型
    b.方法名
    c.参数类型及个数
  • 都要与父类继承的方法相同,才叫方法的重写

2.继承中的初始化顺序:
1》先初始化父类,再初始化子类
2》先执行初始化对象中的属性,再执行构造方法中的初始化。
父类对象->属性初始化->构造方法->子类对象->属性初始化->构造方法

3.final关键字
可以修饰类,方法,属性,变量
final修饰类,则该类不允许被继承;
final修饰方法,则该方法不允许被覆盖(重写);
final修饰属性,则该类的属性不会进行隐式的初始化(类的初始化必须有值),或在构造方法中赋值(但只能选其一)。(如果在声明属性的时候没有初始化,那在构造方法中一定要初始化,这两种只能初始化一次);
final修饰变量,则该变量就变成常量。

4.super关键字
在对象的内部使用,可以代表父类。
1》访问父类的属性:super.age;
2》访问父类的方法:super.eat();
应用:子类的构造的过程当中必须调用其父类的构造方法(隐式的方法super());
如果子类的构造方法中没有显示调用父类的构造方法,则系统默认调用父类无参的构造方法;
如果子类的构造方法中显示的调用父类的构造方法,必须在子类的构造方法的第一行。
如果子类的构造方法中既没有显示调用父类的构造方法,而父类又没有无参的构造方法,则编译出错。

5.Object类
是所有类的父类
几个重要的方法:
1》toString()方法--返回对象的哈希code码(对象地址字符串)
System.out.println(dog);//com.imooc.Dog@1b7adb4a
可以通过重写toString()方法表示出对象的属性(选择菜单栏的source中有重写toString()方法)
System.out.println(dog);//Dog [age=20]
2》equals()方法
比较的是对象的引用是否指向同一块内存地址
但是,一般情况下比较两个对象时都是比较他们的值是否一致,所以要进行重写。

屏幕快照 2016-07-11 下午11.41.47.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 面向对象No6 面向对象 OO Object Oriented 编程时以对象为单元,封装数据和逻辑,以此提...
    征程_Journey阅读 1,196评论 0 2
  • 20- 枚举,枚举原始值,枚举相关值,switch提取枚举关联值 Swift枚举: Swift中的枚举比OC中的枚...
    iOS_恒仔阅读 2,316评论 1 6
  • 123.继承 一个类可以从另外一个类继承方法,属性和其他特征。当一个类继承另外一个类时, 继承类叫子类, 被继承的...
    无沣阅读 1,443评论 2 4
  • 下标脚本 下标脚本 可以定义在类、结构体和枚举这些目标中,可以认为是访问集合(collection),列表(li...
    cht005288阅读 464评论 0 0
  • 最近项目中用到了异步操作,感觉android自身的AsyncTask和handler有点繁琐且不够简洁,于是学习了...
    MrWheat阅读 226评论 0 1