您的位置:首页 > 编程语言 > Java开发

02java基础进阶之继承、protected、方法重载与方法重写、抽象类、final用法

2019-07-20 17:19 513 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/Denial_learn/article/details/96606241

为什么使用继承:

  • 可以将重复代码抽取到父类中
  • 方便修改代码
  • 减少代码量

特征:

  • 继承是代码重用的一种方式
  • 将子类共有的属性和行为放到父类中
  • 符合is-a关系的设计使用继承

关键字、格式及规则:

关键字 : extends
规则:只能继承一个父类

格式:

class Dog extends Pet { Pet是父类,Dog是子类
//子类特有的属性和方法
}

子类访问父类成员

super关键字来访问父类的成员

  1. super只能出现在子类的方法和构造方法中
  2. super调用构造方法时,只能是第一句
  3. super不能访问父类的private成员

使用super关键字,super代表父类对象
访问父类构造方法

访问父类属性

访问父类方法

不能被继承的父类成员:

  1. private成员 属性
  2. 子类与父类不在同包,使用默认访问权限的成员
  3. 构造方法

访问修饰符protected

  1. 可以修饰属性和方法
  2. 本类、同包、子类可以访问

访问修饰符使用范围总结:

多重继承关系的初始化顺序:

方法重写的规则:

  • 方法名相同
  • 参数列表相同
  • 返回值类型相同或者是其子类;
  • 访问权限不能严于父类

方法重载与方法重写的区别:

抽象类

抽象类和抽象方法

  1. 抽象类不能被实例化
  2. 可以有0~多个抽象方法
  3. 非抽象类必须重写父类的所有抽象方法

Java中也使用抽象类,限制实例化

public abstract class Pet {
}

abstract也可用于方法——抽象方法

  1. 抽象方法没有方法体
  2. 抽象方法必须在抽象类里
  3. 抽象方法必须在子类中被实现,除非子类是抽象类

如:

final用法:

  • 修饰的类,不能再被继承
  • 修饰的方法,不能被子类重写
  • 修饰的变量将变成常量,只能在初始化时进行赋值

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐