Head First Java学习笔记(8):接口与抽象类

抽象类

1.有些类不应该被初始化。
2.当设计继承结构时,必须决定哪些类是抽象的,哪些类是具体的。具体的类是实际可以被初始化为对象的。
3.设计抽象类的方法:在类的声明前面加上关键词abstract。
4.抽象类代表没人能创建该类的实例,可以使用抽象类来声明为引用类型给多态使用,却不用担心创建出该类型的对象,编译器会确保这件事。
5.抽象类除了被继承过之外,是没有用途、没有值、没有目的的。

抽象方法

1.方法也可以标记为abstract的,抽象方法必须被覆盖。
2.抽象的方法没有方法体,应该直接以分号结束,如:

public abstract void eat();

注意:如果方法声明为抽象的,则类也应该标记为抽象,不能在非抽象类中拥有抽象方法。
抽象方法的意义: 无法为所有子类定义出一个有实际意义的共同代码时,就算无法写出具体实现,也还是可以定义出一组子类共同的协议。
3.在继承树结构下的第一个具体类必须实现所有抽象的方法。

Object

1.在Java中的所有类都是从Object这个类继承出来的。
2.没有直接继承过其他类的类会是隐含的继承对象。
3.Object不是抽象类。
4.当某个对象是以Object类型来引用时,Java会把它当做Object类型的实例,这代表只能调用由Object类中所声明的方法。
5.任何从ArrayList<Object>取出的东西都会被当做Object类型的引用,不管它原来是什么。

接口

定义: Java的接口就好像是100%的纯抽象类。接口中的所有方法,都是未实现的抽象方法。

public interface Pet{...}

1.接口的方法必须是抽象的。
2.不同继承树的类也可以实现相同的接口。
3.类可以实现多个接口。
4.要从子类调用父类的方法可以与super这个关键词来引用,如:

super.RunReport();
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值