继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

抽象类,接口,多态

白衣染霜花
关注TA
已关注
手记 126
粉丝 17
获赞 57

1.比较:


                       = =  

                      equals

判断类型:

         对象或变量的地址    

    封装类型和String类型:判断的是值

     普通类型对象:判断是的对象的地址



hash Code:

1.整型类的hash Code是该值本身

2.浮点类的hash Code不是它的值

3.Character的hash Code是该字符对应的整型数字,比如a的hash Code是97

4.String类的hash Code是一串数字,注意:当两个String类型的对象具有相同的值时,它们的hash Code是相等的

5.非封装类型和String类型的类对象的hash Code是一串无规则的数字

抽象类:

1.定义:

  类似一个“模板”,可根据他的格式定义新的类

2.声明

    使用abstract关键字进行声明

    修饰符  abstract class 类名{...}

   抽象方法的声明:

   修饰符 abstract 返回值类型 方法名(参数列表);

3.特点:

   ①如果在一个类中至少一个抽象方法 ,那么这个类必须被定义为抽象类

  ②如果这个类中,没有抽象方法,这个类也可以定义为抽象类

  ③抽象方法只需声明,不能在抽象类中实现

  ④抽象类中可以定义普通方法

  ⑤构造方法、static方法、private方法和final方法不能被定义为抽象方法

  ⑥抽象类不能被实例化,需要定义子类,继承该抽象类,通过实例化子类对象,来得到抽象类对象

  ⑦如果一个类继承了抽象类,那么它需要实现该抽象类的所有抽象方法

         如果这个类只是实现了抽象类的部分抽象方法,那么这个类必须被定义为抽象类

接口:

1.定义

接口是常量和抽象方法的集合

2.写法

修饰符 interface 接口名{...}

3.特点

①接口中的属性都为常量,默认使用public static final来修饰,所以,声明一个属性时必须赋初值

②接口中的方法默认为抽象方法,默认使用public abstract来修饰

③在接口中,声明方法时,不能使用static final synchronized private protected来修饰

④一个类实现一个接口,需要使用implements

⑤多个无关的类可以实现同一个接口

⑥一个类可以实现多个接口

⑦一个接口可以通过extends继承多个接口

final:

(1)final修饰变量(成员变量或局部变量),则成为常量,只能赋值一次

       final  type variableName;//变量名一般大写

      修饰成员变量时,定义时同时给出初始值,而修饰局部变量时不作要求

(2)final修饰方法,则该方法不能被子类重写

     final  return  Type methodName(paramList)

   {

       ......

   }

(3)final修饰类,则类不能被继承

   final  class  finalClassName{

  ...

   }                                                                                        

 

多态:

1.多态的分类

  ①编译时多态:静态多态,由方法重载来体现

  ②运行时多态::动态多态,由向上转型来实现

子类转型成父类是向上转型(父类  a = new 子类()),反过来说,父类转型成子类就是向下转型。但是,向下转型可能会带来一些问题:我们可以说麻雀是鸟,但不能说鸟就是麻雀。

2.多态的特点:

  父类声明的变量,用子类构造器初始化,那么这个对象是子类对象,但是,它只能访问父类的属性和方法,以及子类重写父类  的方法,不能去访问子类自有属性和方法

原文链接:http://www.apkbus.com/blog-491882-60687.html

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP