Java编程思想学习 多态
Posted chaoer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java编程思想学习 多态相关的知识,希望对你有一定的参考价值。
1、Java语言的三大特性:继承、封装和多态。
继承:复用类的一种方法,可以简省很多代码;
封装:通过合并特征和行为来创建新的数据类型。【这种“数据类型”跟Java本身提供的8大“基本数据类型”的地位完全相同。Java通过封装这种方式来扩充数据类型。】
多态:消除创新的数据类型之间的耦合关系。
2、前期绑定:static和final方法都是前期绑定(在编译时绑定和执行);
3、后期绑定:Java中除了static和final方法,都是后期绑定(前面提到过,private方法属于final方法)。
4、多态性:
只有后期绑定的方法具有多态性【其他的,如:前期绑定方法、域(字段)等不具有多态性】;
换句话说就是,多态性是面向对象的特性(三大特性之一)。而Java语言并不是一门完全的或者说纯粹的面向对象语言,像静态的这些就是反对象的东西。
5、构造器初始化
一定会调用父类的构造器,先为父类初始化,获取父类的对象(子对象),再进行自身初始化。
6、转型:
向上转型:会丢失新方法;
向下转型:需要作类型检查。
例子:
1 package lkl; 2 3 public class Cycle { 4 public int wheels (){ 5 return 0; 6 } 7 } 8 9 public class Tricycle extends Cycle{ 10 public int wheels(){ 11 return 3; 12 } 13 } 14 15 public class BiCycle extends Cycle{ 16 public int wheels(){ 17 return 2; 18 } 19 } 20 21 public class Unicycle extends Cycle{ 22 public int wheels(){ 23 return 1; 24 } 25 } 26 27 public class RideTest { 28 public int wheels(Cycle cy){ 29 return cy.wheels(); 30 } 31 public static void main(String[] args){ 32 RideTest rt = new RideTest(); 33 ///根据传入的不同子类表现不同的行为,称为多态 34 System.out.println(rt.wheels(new Unicycle())); 35 System.out.println(rt.wheels(new BiCycle())); 36 System.out.println(rt.wheels(new Tricycle()));
以上是关于Java编程思想学习 多态的主要内容,如果未能解决你的问题,请参考以下文章