Java基础复习---继承
来源:互联网 发布:申请淘宝达人的步骤 编辑:程序博客网 时间:2024/04/28 21:35
继承概述
什么是继承
在程序中的继承是指若一个类从另一个类派生而来,派生类自动具有了被继承类所有的特性。
被继承类称为父类,继承父类的类称为子类。继承可以使得子类具有父类的各种属性和方法
子类在继承后,也可拥有自己的一些特性
继承可分为单一继承和多重继承。
实现继承
就是创建一个类的子类
<修饰符> class <子类名> extends <父类名>{//实现代码}
在Java中,一个类只能有一个父类,子类无法继承父类中使用private修饰的类成员
package Extends;public class MinCar extends Car {public static void main(String[] args) {MinCar car = new MinCar();System.out.println("父类车颜色是:" + car.color);car.SetColor("blue");System.out.println("子类车颜色是:" + car.color);}}class Car {String color = "red";public void SetColor(String color) {this.color = color;}}
继承关系
单一继承关系,一个类只继承一个直接父类
多重继承关系,可以通过实现接口的方法来达到多重继承的目的
抽象类
其中只包含有对方法的声明而没有具体的实现
即,抽象类中的方法需要声明方法的名称,但不用指明方法体。
抽象类不能被实例化,只能被继承扩展。
abstract class ClassName{
abstract ReturnType abstractMethodName(param list); }//abstractMethodName表示抽象方法的方法名,ReturnType表示抽象方法的返回类型
package Extends;public class SubClass extends AbstactClass {public void speak() {System.out.println("我请大家去吃饭");}public static void main(String[] args) {SubClass sb = new SubClass();sb.speak();sb.eat();}}abstract class AbstactClass {public void eat() {System.out.println("我们一起去吃饭");}public abstract void speak();}
动态绑定:
弄清调用对象方法的执行过程。下面是调用过程的详细描述:
1)编译器查看对象的声明类型和方法名。至此,编译器已获得所有可能被调用的候选方法
2)接下来,编译器将查看调用方法时提供的参数类型。至此,编译器已获得所需要调用的方法的名字和参数类型
3)如果是prinvate方法、static方法、final方法或者构造器,那么编译器将可以准确的知道应该调用那个方法。称这种调用方式为静态绑定
4)当程序运行时,并且采用动态绑定调用方法时,虚拟机一定调用与x所引用对象的实际类型最为合适的那个类的方法
阻止继承:final类和方法
如果将一个类声明为final,只有其中的方法自动地成为final,而不包括域。
使用关键字final
修饰成员变量,这个成员变量就变成一个常量
修饰一个方法,这个方法就不能被重写
修饰一个类,这个类不能被继承
常量
final修饰一个变量,这个变量就会变成一个常量,也就是该常量只能赋值一次,可以不在声明它的那一行赋值,但需在构造函数完成之前保证这个变量有一个值
如果定义为final的变量是静态变量,那它的赋值最晚不得迟于最后一个静态语句块的完成
方法
final修饰一个方法,这个方法就不能被重写
类
final修饰类,该类不能被继承。只有当该类中的所有方法都不需要重写时,才能将该类定义为final类
Object类
在Java中,所有类的祖先都是Object类。如果一个类没有继承任何类,那么它默认是继承Object类的。
- Java基础复习---继承
- Java基础复习:继承机制
- JAVA基础笔记(复习)- 继承
- JAVA基础复习(二)继承的一点细节:upcasting
- 黑马程序员--java基础复习之继承、子父类
- 黑马程序员—java基础复习—继承和接口
- JAVA基础复习八-代码块、继承和final关键字
- java基础复习六:三大特性之一继承
- java基础复习(继承和多态)
- Java复习之继承
- java复习-继承
- java-继承(复习随笔)
- java继承复习要点总结
- 基础java复习
- Java 基础复习 01
- java 基础复习
- java 基础复习
- 复习java基础笔记
- Tomcat容器管理安全的几种验证方式
- android 补丁包增量更新
- Linux(centos6.5)服务器快速安装mysql
- python hard way中的一个小例子,简单的游戏引擎
- 详解JDBC的四种驱动程序
- Java基础复习---继承
- Eclipse配置Struts2问题:ClassNotFoundException: org...dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
- 【并行计算-CUDA开发】GPU---并行计算利器
- 【HDU 2225】【数学题 构造】【求不大于sqrt(n)的分数, 分母最大为m】
- Android详细的对话框AlertDialog.Builder使用方法
- 3-4 计算长方形的周长和面积
- [f.lux] linux中的夜间模式
- mysql 多表关联查询
- HDU-2159-FATE(二维完全背包)