Decode360's Blog

业精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

  BlogJava :: 首页 :: 新随笔 :: 联系 ::  :: 管理 ::
  397 随笔 :: 33 文章 :: 29 评论 :: 0 Trackbacks
Java特性随便看看(多态)
 
一、引用类型
 
    1、Java的数据类型
 
      Java有8种基本数据类型:
 
      4种常用的:boolean、char、double、int
      另外的4种:byte、float、long、short
 
      对于基本类型是直接留出内存保存值,而其他所有的数据类型都是引用类型。
 
      所谓引用类型,即开始创建时只保存了它对某类型的引用。必须初始化之后才可以引用
 
    2、引用类型的相等性
 
      举例说明:
 
      Dog dog1 = new Dog()
      Dog dog2 = Dog1
      Dog dog3 = new Dog()
 
      dog1 == dog2 正确
      dog2 == dog3 错误
 
      一般会创建equals()方法,然后通过dog2.equals(dog3)来对比每一个值是否相同
 
    3、equals()方法
 
      public boolean equals(Object that){
        if (this == that){
         return true;
        }
        if (that == null){
         reture false;
        }
        if (getClass() != that.getClass()){
         return false;
        }
        Die thatDie = (Die)that;
        return topFace == thatDie.topFace;
      }
 
      注:1、首先把实例this==that的直接返回,不用再进去比较多个值
          2、that=null时直接返回,不要去尝试追随null
          3、比较类名,若不是同一各类就直接返回false
 
 
二、多态
 
    1、多态类型对象:
 
    Object it;
    it = new Dog();
    it = new double[10];
 
    以上代码都是正确的,Object类型的变量可以保存一个指向广泛事物的引用。
    Object是一个典型的多态类型(polymorphic type)
 
    2、基本类型包装器
 
    Object可以保存任何对象和数组,但是不能保存基本类型,所以需要包装器类。
    针对8个基本类型的包装器分别为:
 
    Boolean、Byte、Character、Double、Float、Integer、Long、Short
 
    理论上需要用以下方法进行转换:
 
    Object k = new Integer(23);
    int n = ((Integer)k).intValue();
 
    但是在1.5版本以后,可以直接省略为:
 
    Object k = 5;
    int n = (Integer)number;
 
 
三、数组
 
    1、数组的创建步骤
 
      ① 声明变量:int[] nums;
      ② 分配空间:nums = new int[4];
      ③ 初始化:int[0] = 1;
 
      int[] nums = new int[]{0,1,2,3,4}
 
    2、多维数组
 
      int[][] rows;
      rows = new int[2][3];
 
      上例是由3个“含有4个值的数组”组成的数组,也可以理解为3行4列
 
      要取单独一行:int[] middleRow = row[1];
      要单独取一列:row[0] = new int[4];
 
 
四、接口
 
    接口跟类是很相似的,区别在于接口即没有字段也没有方法体,只指明了类的行为方式。接口的作用简单一点就是:接口是用来标记类的,不同的类属于不同的接口(通过向上转型),管理接口比管理各种各样的类方便多了,接口体现了抽象的观点,什么是抽象?抽象就是“抽去像的部分”。
 
    实现接口:
 
    public class FieldDomino implements Domino{
    ...
    }

 
五、重载
 
    接口、Object类型、数组类型,都是多态类型。
 
    不同种类的多态性就是重载 ,即同名的方法,而传入参数个数或种类不同
 
    不能重载某个类型包含的另一个类型参数,这样输入某个参数,两种都成立。
 
    重载的作用在于可以减少我们必须记住的方法名称的数量!
 
 
 
posted on 2008-11-22 21:51 decode360 阅读(190) 评论(0)  编辑  收藏 所属分类: 04.Java

只有注册用户登录后才能发表评论。


网站导航: