Java编程思想学习(六) 多态
2016-03-10 19:34
411 查看
1、Java语言的三大特性:继承、封装和多态。
继承:复用类的一种方法,可以简省很多代码;
封装:通过合并特征和行为来创建新的数据类型。【这种“数据类型”跟Java本身提供的8大“基本数据类型”的地位完全相同。Java通过封装这种方式来扩充数据类型。】
多态:消除创新的数据类型之间的耦合关系。
2、前期绑定:static和final方法都是前期绑定(在编译时绑定和执行);
3、后期绑定:Java中除了static和final方法,都是后期绑定(前面提到过,private方法属于final方法)。
4、多态性:
只有后期绑定的方法具有多态性【其他的,如:前期绑定方法、域(字段)等不具有多态性】;
换句话说就是,多态性是面向对象的特性(三大特性之一)。而Java语言并不是一门完全的或者说纯粹的面向对象语言,像静态的这些就是反对象的东西。
5、构造器初始化
一定会调用父类的构造器,先为父类初始化,获取父类的对象(子对象),再进行自身初始化。
6、转型:
向上转型:会丢失新方法;
向下转型:需要作类型检查。
例子:
继承:复用类的一种方法,可以简省很多代码;
封装:通过合并特征和行为来创建新的数据类型。【这种“数据类型”跟Java本身提供的8大“基本数据类型”的地位完全相同。Java通过封装这种方式来扩充数据类型。】
多态:消除创新的数据类型之间的耦合关系。
2、前期绑定:static和final方法都是前期绑定(在编译时绑定和执行);
3、后期绑定:Java中除了static和final方法,都是后期绑定(前面提到过,private方法属于final方法)。
4、多态性:
只有后期绑定的方法具有多态性【其他的,如:前期绑定方法、域(字段)等不具有多态性】;
换句话说就是,多态性是面向对象的特性(三大特性之一)。而Java语言并不是一门完全的或者说纯粹的面向对象语言,像静态的这些就是反对象的东西。
5、构造器初始化
一定会调用父类的构造器,先为父类初始化,获取父类的对象(子对象),再进行自身初始化。
6、转型:
向上转型:会丢失新方法;
向下转型:需要作类型检查。
例子:
package lkl; public class Cycle { public int wheels (){ return 0; } } public class Tricycle extends Cycle{ public int wheels(){ return 3; } } public class BiCycle extends Cycle{ public int wheels(){ return 2; } } public class Unicycle extends Cycle{ public int wheels(){ return 1; } } public class RideTest { public int wheels(Cycle cy){ return cy.wheels(); } public static void main(String[] args){ RideTest rt = new RideTest(); ///根据传入的不同子类表现不同的行为,称为多态 System.out.println(rt.wheels(new Unicycle())); System.out.println(rt.wheels(new BiCycle())); System.out.println(rt.wheels(new Tricycle()));
相关文章推荐
- Java WAV转MP3
- Spring自动注入properties文件
- Java编程思想学习(五) 复用类
- Java多线程
- java 实现文件复制demo
- Thread 产生死锁案例
- Java 利用过滤器Filter 实现登录过滤
- Java编程思想学习(四) 访问权限
- Spring Integration入门
- 使用IntelliJ IDEA开发SpringMVC网站(二)框架配置
- 第一个java程序
- 使用IntelliJ IDEA开发SpringMVC网站(一)开发环境
- 《JAVA与模式》之简单工厂模式
- Java String的构造和getByte
- 《JAVA与模式》之工厂方法模式
- Eclipse上安装配置goclipse on windows
- 使用Spring Session做分布式会话管理
- spring 面试题
- java线程(1)-线程同步
- Java流程控制语句