1. abstract
    (1) 抽象类不可以用来制造对象,但可以用来定义变量,当然将来付给这个变量的一定是这个抽象类的非抽象子类的对象
    (2) 抽象类的非抽象子类必须覆盖父类中的抽象函数,这种覆盖叫做实现
  2. 两种抽象
    (1) 与具体相对
    表达一种概念而非实体
    (2) 与细节相对
    表达忽略细节而抓大体
  3. 数据与表现分离,术业有专攻
    表现知道数据,数据不知道表现
  4. 责任驱动的设计:整个程序的功能究竟应该分摊到哪个类上实现
  5. 一个抽象类可以没有任何抽象方法
    若一个抽象类①所有方法都是抽象的(不需要声明)②所有成员变量都是public static final
    (static意思是属于整个类而非任何对象,final意思是不会被改变,综合起来即常量)
    则为纯抽象类,即接口
public interface Cell{void draw(Graphics g,int x,int y,int size);
}
  1. 不能多继承改成继承+实现
public class Fox extends Animal implenments Cell{}
  1. interface (i小写)和Class地位一样,所有可以出现Class的地方都可以用interface取代

  2. 类可以实现很多接口(多实现)
    接口可以继承接口,但不能继承类
    接口不能实现接口

  3. 面向接口的编程方式
    (1) 设计程序时先定义接口,再实现类
    (2) 在函数间传入传出的是接口而非具体的类
    优点:Java取得成功的关键之一,因极适合多人同时写一个大程序
    缺点:代码量膨胀起来很快

ZJU-java进阶笔记 第六周(抽象与接口)相关推荐

  1. 网易云课堂Java进阶学习笔记系列03 -- 第7周 抽象与接口

    第七周 抽象与接口 在第一周就有一个Shape类的例子.这个类有很多的子类,每个子类也都实现了父类的方法.实际上父类Shape只是一个抽象的概念而并没有实际的意义. 举例案例理解 如果请你画一个圆,你 ...

  2. # 20155337 2016-2017-2 《Java程序设计》第六周学习总结

    20155337 2016-2017-2 <Java程序设计>第六周学习总结 教材学习内容总结 •串流(Stream): 数据有来源及目的地,衔接两者的是串流对象.如果要将数据从来源取出, ...

  3. 20155305乔磊2016-2017-2《Java程序设计》第六周学习总结

    20155305乔磊2016-2017-2<Java程序设计>第六周学习总结 教材学习内容总结 InputStream与OutputStream 串流设计 1.串流:Java将输入/输出抽 ...

  4. 20155303 2016-2017-2 《Java程序设计》第六周学习总结

    20155303 2016-2017-2 <Java程序设计>第六周学习总结 课堂笔记 高效学习法推荐 看视频学习(2h)→ 以代码为中心看课本,思考运行结果并验证(3h)→ 课后作业验证 ...

  5. 20165115 2017-2018-2 《Java程序设计》第六周学习总结

    20165115 2017-2018-2 <Java程序设计>第六周学习总结 教材学习内容总结 正则表达式的有关内容 Scanner 类的方法调用 数字格式化与日期 Class类.Cons ...

  6. 20175212童皓桢 《Java程序设计》第六周学习总结

    20175212童皓桢 <Java程序设计>第六周学习总结 教材学习内容总结 第七章 内部类与异常类 1.内部类 Java支持在一个类中定义另一个类,这样的类称作内部类,包含内部类的类称为 ...

  7. 20172325 2018-2019-2 《Java程序设计》第六周学习总结

    20172325 2018-2019-2 <Java程序设计>第六周学习总结 教材学习内容总结 本周学习第十章--树 1.什么是树 (1)树是一种数据结构,与之前学过的栈.队列和列表这些线 ...

  8. 201521123061 《Java程序设计》第六周学习总结

    201521123061 <Java程序设计>第六周学习总结 ***代码阅读:Child压缩包内 1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核 ...

  9. 阿里内部发布最新版Java进阶笔记,金九银十看这份文档就够了

    大家都说程序员这个职业薪资高.待遇好,现在是程序员"跳槽"的黄金时期,你准备好了吗?有没有给自己定个小目标?是30K.40K,还是更高?短期内提高Java 核心能力最快.最有效的方 ...

最新文章

  1. 强迫症慎入:一大票让人看哭的音量键设计即将袭来
  2. 一种mac使用机械键盘的解决方案
  3. 文献学习(part32)--Density Peak Clustering Based on Relative Density Optimization
  4. 【POI】读取Excel表中的数据
  5. okHttp记录---response.body().string()输出的结构是乱码
  6. mysql存储ip地址_MySQL怎样存储IP地址
  7. java 裁剪 pdf_java – 使用iTextPDF修剪页面的空白
  8. vSphere 故障排除之工具篇
  9. USB移动硬盘使用中的怪现象
  10. noip2019集训测试赛(二)
  11. Utrack声卡和机架包的调试
  12. Ogre引擎渲染系列之Normal Specular Mapping
  13. GitHub 标星 2.3k+,比个手势,AI 自动识别 Emoji!
  14. Web(ics-07)
  15. VM中的Ubuntu能ping通外网浏览器不能上网
  16. 计算器算贝塞尔公式_买车贷款怎么算利息?
  17. Bubble(13)
  18. 图像对抗学习笔记:复现DPatch
  19. push后再git status出现Your branch is ahead of ‘xxx‘ by 1 commit.
  20. 京东无人超市的成长之路 | 如何利用人工智能技术在零售业做产品创新?

热门文章

  1. swift -charts框架雷达图
  2. spring cloud微服务分布式云架构--hystrix的使用
  3. HTTP 2.0与OkHttp
  4. leetcode381. Insert Delete GetRandom O(1) - Duplicates allowed
  5. 绝对实用 NAT + VLAN +ACL管理企业网络
  6. jfinal框架下使用c3P0连接池连接sql server 2008
  7. ALSA声卡驱动中的DAPM详解之四:在驱动程序中初始化并注册widget和route
  8. SDT(software-defined Things)?软件定义的物件
  9. 基于Bootstrap里面的Button dropdown打造自定义select
  10. VMware VSphere 虚拟化云计算学习配置笔记(一)