类的继承和重写
来源:互联网 发布:网络尔雅课程 编辑:程序博客网 时间:2024/05/20 02:30
继承是java面向对象的三大特征之一,它的关键字是extend。这个单词的意思其实是“扩展”,由此我们可以把继承理解为一个类去扩展另一个类,其中被扩展的类称为父类,实现扩展的类叫做子类。在继承关系中子类会得到父类的所有参数或是方法,此外子类还可以扩展自己的参数或方法。
比如水果类和苹果类,苹果类扩展了水果类,因此水果类是父类,苹果类是子类。它的格式是这样的:
public class friut (){
System.out.println("这是一个水果类");
}
public class apple extends friut(){
System.out.pritnln("这是一个苹果类");
}
public class apple extend friut1,friut2....{
} //是错误的
说到继承有一个东西不得不提到,那就是重写,什么是重写?我们来看这样一个场景:
有一个bird类,其中定义了一个会飞的方法,再创建一个hen类去继承bird类,我们都知道母鸡属于鸟类,但是鸟是会飞的,而母鸡不会飞,但是又继承了bird类中的会飞这个方法,显然是不行的,此时我们就需要改写bird类中的方法。
public class bird {
public void fly(){
System.out.println("鸟是会飞的");
}
}
public void fly(){ //重写父类fly方法
System.out.println("母鸡是不会飞的");
}
public void fly1(){
super.fly(); //用super调用父类fly方法
}
public static void main(String[] args) {
hen he=new hen();
he.fly();
he.fly1();
}
}
上面这个例子就用到了重写,子类hen 类重写了父类bird类中fly方法,可以知道子类中的fly方法被覆盖了。
重写的时候我们需要注意一下三点:
(1).重写的方法必须和原方法的方法名相同,参型列表相同(包括参数名,顺序和类型)
(2).子类的访问访问权限应该比父类的大
(3).如果父类中的某个方法是pirvate的,那么子类不能重写此方法
重写中还有一个super关键字很重要,super 的作用是直接调用父类中的方法。在上面我们说到父类中的方法在子类中被重写了,那么就无法访问父类中的原方法,但有些情况下需要用到父类中原方法时就可以用super来调用。 在上面的例子中母鸡是不会飞的,但是有一天它突然变异了它会飞了,此时我们又改写了fly方法,这种情况下还是需要调用父类中fly方法。
注:参考资料疯狂java讲义(电子工业出版社)
- 类的继承和重写
- OC类的继承和重写
- Java中类的继承和重写
- 【深入浅出Objective-C】4.4类的继承和重写
- 继承中方法的重写和抽象类
- 继承,多态,重载和重写的区别。
- 静态(static)方法的继承和重写
- 静态(static)方法的继承和重写
- 关于继承和重写的新理解
- java中的继承和方法的重写
- 静态(static)方法的继承和重写
- OC里的继承和重写
- python对象的继承和重写
- python对象的继承和重写
- 静态(static)方法的继承和重写
- Java继承和重写
- 继承和重写
- 继承和重写
- poj3041 Asteroids(最小顶点覆盖经典模型)
- CODEVS 1220数字三角形
- 20161027校内训练
- JAVA语言基础 +JAVA学习笔记-DAY05
- 1295826.html
- 类的继承和重写
- 《江湖X》开发笔谈 - 谈谈配置表的那些事
- 并查集基础
- Linux 目录结构及文件基本操作
- 文件中有一组整数,要求排序后输出到另一个文件中
- MainWindow 设置layout问题
- 初识Android序列化与反序列化
- BJTUoj1033
- AXIS2 webSerive