zoukankan      html  css  js  c++  java
  • 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修改应用程序标题栏
    电动双轮车
    Oracle执行计划相关(待补充)
    SQL中IN和EXISTS用法的区别
    union all与union all
    equals与hashcode
    文件上传的整个流程
    adwords与adsence
    struts2文件上传大小
    为什么是UUID做主键
  • 原文地址:https://www.cnblogs.com/benchao/p/5263149.html
Copyright © 2011-2022 走看看