多态抽象

1;在面向对象领域,抽象类主要用来进行类型隐藏;也就是使用抽象的类型来编程,但是具体运行时就可以使用具体类型。
利用抽象的概念,能够在开发项目中创建扩展性很好的架构,优化程序。

抽象类,抽象方法,在软件开发过程中都是设计层面的概念。也就是说,设计人员会设计出抽象类,抽象方法,程序员都是来继承这些抽象类并覆盖抽象方法,实现具体功能。

2;在某些情况下,类无法(或者没有必要)提供方法的具体实现,可以将此方法声明成抽象方法;
在类中没有方法体的方法,就是抽象方法
含有抽象方法的类,一定是抽象类

3;如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类

用abstract修饰的类就是抽象类。如果某个类中包含有抽象方法,那么该类就必须定义成抽象类。但是抽象类中不一定有抽象方法

用abstract修饰的类就是抽象类。如果某个类中包含有抽象方法,那么该类就必须定义成抽象类。
抽象类可以有成员属性和非抽象的成员方法。
抽象类不能被实例化,但可以有构造函数。
抽象类只能用作基类,表示的是一种继承关系。继承抽象类的非抽象类必须实现其中的所有抽象方法,而已实现方法的参数、返回值要和抽象类中的方法一样。否则,该类也必须声明为抽象类

4;抽象类可以有构造方法,但不能直接实例化,只能用来继承;
抽象类的派生子类应该提供对其所有抽象方法的具体实现;如果抽象类的派生子类没有实现其中的所有抽象方法,那么该派生子类仍然是抽象类,只能用于继承,而不能实例化;
抽象类中也可以包含有非抽象的方法,子类中重写非抽象方法时返回值和参数必须与父类一致;
构造方法和静态方法不可以修饰为abstract

5;Object类是所有类的父类,位于java.lang包中数组也是Object类的子类‘,Object类在java.lang包下,是所有类的根。任何类的对象,都可以调用Object类中的方法,包括数组对象。Object和Object[]之间的区别

方法中的形参是Object类型时,任何类型的参数都可以传进去执行。

方法中形参是Object[]类型时,只有对象数组可以传入执行。

6,;equals方法;
   Object类中的equals方法,用来比较两个引用的虚地址。当且仅当两个引用在物理上是同一个对象时,返回值为true,否则将返回false

7;equals方法与hashCode方法关系
  如果两个对象使用equals比较返回true,那么它们的hashCode值一定要相同
   如果两个对象equals比较返回false,那么它们的hashCode值不一定不同
  覆盖equals,往往需要覆盖hashCode,可以使用Eclipse自动生成,保证equals返回true,则hashCode相同;equals返回false,则hashCode不同
在Set集合部分有实际应用

8;多态性是面向对象的三大特征之一
多态的含义是:对外一种表现形式,内在有多种具体实现。
Java中多态的具体体现
方法重载
方法覆盖
多态参数(新内容,重点、难点)

9;当编译器类型是父类,运行期类型是子类时,被称为父类引用指向子类对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值