初识继承
来源:互联网 发布:太空模拟软件 编辑:程序博客网 时间:2024/06/07 13:30
继承是面向对象程序设计的一个基本的概念;人们可以利用继承基于已存在的类构造一个新类,其实就是复用(继承)这些类的方法和域,在此基础上还可以添加一些新的方法和域,以满足新的需求。继承是Java程序设计中的一项核心技术。
关键字:extends
例如:public class Manager extends Employee{
添加方法和域
}
在理解了继承是什么之后,需要弄清楚另外几个问题。
1.如果超类的一些方法被子类继承但不适合子类使用,这时候就需要一个新的方法来覆盖(override)超类中的这个方法。
如:Manager的工资由薪水和奖金之和构成,但是Employee中的工资没有包含奖金。
public class Manager extends Employee{
….
public double getSalary() //重写了超类中的getSalary方法
{
double baseSalary = super.getSalary();
return baseSalary + bonus;
}
}
2.this和super在调用方法时的一些区别。(目前我知道的)
在Java中使用关键字super调用超类(父类)的方法,super不是一个对象的引用,不能将super赋给另一个对象变量,它只是一个指示编译器调用超类方法的特殊关键字。
super的两个用途:一,调用超类的方法;二,调用超类的构造器。
this的两个用途:一,引用隐式参数;二,调用该类其他的构造器。
当子类的构造器不能访问超类的私有域的时候,我们通过super实现对超类构造器的调用来对超类的私有域进行初始化。(超类中也会有私有域)
方法调用的过程:
1,首先编译器查看对象的声明类型和方法名。
如:调用x.f(param) ,可能会存在多个名字为f,但参数类型不一样的方法。f(int)或f(String),此时编译器将一一列举所有类中名为f的方法和其超类中访问属性为public且名为f的方法。(超类中的私有方法是不可以被访问的)
2,编译器将查看调用方法时提供的参数类型。
重载解析:如果在所有名为f的方法中存在一个与提供参数类型完全匹配,就选择这个方法。
方法的签名:方法的名字和参数列表
Java中用于控制可见性的4个访问修饰符:
1,仅对本类可见——private
2,对所有的类可见——public
3,对本包和所有子类可见——protected
4,对本包可见——默认(很遗憾),不需要修饰符
- 初识继承
- 初识java继承
- 初识C++之继承
- 初识C++之继承
- 初识JavaScript-继承
- c++继承初识
- 【c++】(初识)继承
- C#初识继承
- 初识Objecive-C 之 继承
- 初识继承、 组合、动态代理
- Android继承知识---传感器初识
- 初识javascript之对象继承
- 初识继承以及抽象类
- 初识Hibernate之继承映射
- C++学习笔记--继承初识
- 初识C#继承与多态
- C++之封装和继承初识
- JS学习笔记03-初识继承
- Tomcat服务器字符编码更改
- PAT甲级 1046. Shortest Distance (20)
- Qtablewidget Qtreewidget map基本用法
- GDB 基本命令
- 我与NOIP2017的故事
- 初识继承
- 解决python 提示 SyntaxError: Missing parentheses in call to 'print'
- 初学VUEX-01
- 安装winrunner和HP QTP
- 1
- 【Spark Java API】Action(3)—foreach、foreachPartition、lookup
- HTML/CSS 有时两个div接合处会出现缝隙的解决方法
- ES6模块化及webpack配置
- 【Angular2】ExamPaper组件设计