java的三大特性(接口,继承,多态)-----学习笔记整理

1.instanceof

  •    判断对象类型(子类是否继承父类)
  •   如果父类对象不是子类对象的实例,就会发生ClassCastException异常,
  •   所以在执行向下转型是要使用instanceof来判断父类对象是否为子类对象的实例
  •  返回布尔值表示两者之间的关系


2.向下转型

  •    将较抽象的类转换成较具体的类
  •    不能说所有的鸟类都是鸽子
  •    不能说所有的四边形都是平行四边形
  •    可以说子类对象总是父类的一个实例,但父类对象的实例不一定是子类对象的实例


3.向上转型

  •     特殊类型到普通类型的转化,可能会丢失一些信息
  •     平行四边形到转化到四边形,会丢失平行四边形的特性

4.Object类

  •     所有类的父类,是Java层中最高层的类
  •     所有创建的类都继承他,除非某个类已经指定要从其他类继承,否则他就从java.lang.object类继承而来
  •     所有类都继承object类,定义是可省去extends object

常用方法: 

  •    tostring() 可以将任何一个对象换成字符串返回
  •    equals();  比较两个引用的虚拟地址,当且仅当两个引用物理上是同一个对象时返回true否则返回false
  •    hashcode()获取对象的哈希码值,为16进制
  •     ==   比较两个字符的内容是否相同

   绑定。当equals方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,
   该协定声明相等对象必须具有相等的哈希码。

  绑定原因。Hashtable实现一个哈希表,为了成功地在哈希表中存储和检索对象,
  用作键的对象必须实现 hashCode 方法和 equals 方法。同(1),必须保证equals相等的对象,
  hashCode 也相等。因为哈希表通过hashCode检索对象。、

  默认。

  •   ==默认比较对象在JVM中的地址。
  •   hashCode 默认返回对象在JVM中的存储地址。
  •   equal比较对象,默认也是比较对象在JVM中的地址,同==

   

  ComHashcode a = new ComHashcode();
       ComHashcode b = new ComHashcode();
      System.out.println(a.hashCode());    //870919696
       System.out.println(b.hashCode());    //298792720
         
        Long num1 = new Long(8);
        Long num2 = new Long(8);
       System.out.println(num1.hashCode());    //8
       System.out.println(num2.hashCode());    //8
       System.out.println(num1.equal(num2));

5.抽象类

  •     一般是父类
  •    抽象类不能被实例化
  •    abstract创建抽象类
  •    在抽象类中可以定义抽象方法

6.接口

  •    接口实现:implements
  •    是抽象类的延伸 
  •    接口中所有的方法都没有方法体
  •    draw()方法可以封装到一个接口中
  •    使需要draw()的方法的类实现这个接口
  •    同时也可以继承图形类,这是接口存在的必要性
  •    接口可以实现多个,继承只有一个(单继承)
  •    接口可以向上转型

7.方法重载

  •    在同一个类中允许出现一个以上的同名方法,
  •    只要这些方法参数个数或类型不同即可

8.多态

  •    多态性是面向对象程序设计的重要部分,
  •    Java中通常使用重载(overloading)和重写(Overriding)实现类的多态性


9.继承

  •      关键字:extends 
  •     它使整个程序框架具有一定的弹性
  •     在程序中复用一些已经完善定义的类不仅可以减少软件开发周期,
  •     同时也可以提高软件的可维护性和可扩展性。


    
     整理之前的Java学习笔记,看看这三年学了些什么,毕业了,要找工作了感觉啥也没学清楚,顺便重温Java,在向后面学

猜你喜欢

转载自blog.csdn.net/RONG_YAO/article/details/89320077