精华笔记:

  1. 接口:

    • 是一种数据类型(引用类型)
    • 由interface定义
    • 只能包含常量和抽象方法(所有数据默认都是常量,所有方法默认都是抽象的)
    • 接口不能被实例化
    • 接口是需要被实现/继承的,实现/派生类:必须重写所有抽象方法
    • 一个类可以实现多个接口,用逗号分隔。若又继承又实现时,应先继承后实现。
    • 接口可以继承接口

笔记:

  1. 接口:

    • 是一种数据类型(引用类型)

    • 由interface定义

    • 只能包含常量和抽象方法(所有数据默认都是常量,所有方法默认都是抽象的)

    • 接口不能被实例化

    • 接口是需要被实现/继承的,实现/派生类:必须重写所有抽象方法

    • 一个类可以实现多个接口,用逗号分隔。若又继承又实现时,应先继承后实现。

    • 接口可以继承接口

      //接口的演示
      public class InterfaceDemo {
      public static void main(String[] args) {
      //Inter5 o = new Inter5(); //编译错误,接口不能被实例化
      Inter5 o1 = new Doo(); //向上造型
      Inter4 o2 = new Doo(); //向上造型
      }
      } //演示接口的语法
      interface Inter{
      public static final int NUM = 5;
      public abstract void show();
      int COUNT = 5; //默认public static final
      void test(); //默认public abstract
      //int number; //编译错误,常量必须声明同时初始化
      //void say(){ } //编译错误,抽象方法不能有方法体
      } //演示接口的实现
      interface Inter1{
      void show();
      void test();
      }
      class Aoo implements Inter1{
      public void show(){} //重写接口中的抽象方法时,必须加public权限
      public void test(){}
      } //演示接口的多实现
      interface Inter2{
      void show();
      }
      interface Inter3{
      void test();
      }
      abstract class Boo{
      abstract void say();
      }
      class Coo extends Boo implements Inter2,Inter3{
      public void show(){}
      public void test(){}
      void say(){}
      } //演示接口继承接口
      interface Inter4{
      void show();
      }
      interface Inter5 extends Inter4{
      void test();
      }
      class Doo implements Inter5{
      public void test(){}
      public void show(){}
      }

补充:

  1. 水雷入场、战舰移动的功能可以CV的代码:

    KeyAdapter k = new KeyAdapter() {
    public void keyReleased(KeyEvent e) { //当按键抬起时会自动触发---不要求掌握
    if(e.getKeyCode()==KeyEvent.VK_SPACE){ //若抬起的是空格键---不要求掌握 }
    if(e.getKeyCode()==KeyEvent.VK_LEFT){ //若抬起的是左箭头---不要求掌握 }
    if(e.getKeyCode()==KeyEvent.VK_RIGHT) { //若抬起的是右箭头---不要求掌握 }
    }
    };
    this.addKeyListener(k); //添加侦听---不要求掌握
  2. 类中成员的默认访问权限---------默认的

    接口中成员的默认访问权限------public的

    重写接口中的抽象方法时,必须加public权限

  3. 类和类------------------------继承

    接口和接口------------------继承

    类和接口---------------------实现

  4. 能够造型成为的类型:超类+所实现的接口

  5. 设计规则:

    • 将所有派生类所共有的属性和行为,抽到超类中-------------抽共性

    • 若派生类的行为(实现代码)都一样,设计为普通方法

      若派生类的行为(实现代码)都不一样,设计为抽象方法

    • 将部分派生类所共有的属性和行为,抽到接口中

      接口是对继承的单根性的扩展--------------实现多继承

      接口是一个标准、一种规范,实现了接口就能干某件事,不实现接口就干不了那个事

  6. 如何调错:---------------------帮助我们找到问题位置所在

    • 快速锁定问题方法:

      • 将方法调用的代码全都注释掉,然后一个一个放开,

        放开哪个出错了,说明问题就出在那个方法上。

    • 打桩: System.out.println(数据);

面向对象ooDay8的更多相关文章

  1. angular2系列教程(六)两种pipe:函数式编程与面向对象编程

    今天,我们要讲的是angualr2的pipe这个知识点. 例子

  2. 一起学 Java(二)面向对象

    一.方法函数 函数也称为方法,就是定义在类中的具有特定功能的一段独立代码.用于定义功能,提高代码的复用性. 函数的特点1> 定义函数可以将功能代码进行封装,便于对该功能进行复用:2> 函数 ...

  3. js面向对象学习 - 对象概念及创建对象

    原文地址:js面向对象学习笔记 一.对象概念 对象是什么?对象是“无序属性的集合,其属性可以包括基本值,对象或者函数”.也就是一组名值对的无序集合. 对象的特性(不可直接访问),也就是属性包含两种,数 ...

  4. 前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型

    前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型 前言(题外话): 有人说拖延症是一个绝症,哎呀治不好了.先不说这是一个每个人都多多少少会有的,也不管它究竟对生活有多么大的 ...

  5. .NET 基础 一步步 一幕幕[面向对象之对象和类]

    对象和类 本篇正式进入面向对象的知识点简述: 何为对象,佛曰:一花一世界,一木一浮生,一草一天堂,一叶一如来,一砂一极乐,一方一净土,一笑一尘缘,一念一清静.可见"万物皆对象". ...

  6. 简单分析JavaScript中的面向对象

    初学JavaScript的时候有人会认为JavaScript不是一门面向对象的语言,因为JS是没有类的概念的,但是这并不代表JavaScript没有对象的存在,而且JavaScript也提供了其它的方 ...

  7. Java程序员应该了解的10个面向对象设计原则

    面向对象设计原则: 是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton.Decorat ...

  8. JavaScript学习笔记(三)——this、原型、javascript面向对象

    一.this 在JavaScript中this表示:谁调用它,this就是谁. JavaScript是由对象组成的,一切皆为对象,万物皆为对象.this是一个动态的对象,根据调用的对象不同而发生变化, ...

  9. 带你一分钟理解闭包--js面向对象编程

    上一篇<简单粗暴地理解js原型链--js面向对象编程>没想到能攒到这么多赞,实属意外.分享是个好事情,尤其是分享自己的学习感悟.所以网上关于原型链.闭包.作用域等文章多如牛毛,很多文章写得 ...

  10. .NET基础拾遗(2)面向对象的实现和异常的处理基础

    Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...

随机推荐

  1. java中post发送json格式数据

    /** * 发送post请求 * @param URL 数据发送地址 * @param json json格式数据内容 * @param headParams 请求头内容 * @return 请求结果 ...

  2. UE4常用快捷键

    编辑器快捷键 按键 操作 W 选择"移动"工具 E 选择"旋转"工具 R 选择"缩放"工具 F 聚焦对象 End 落到地面 Alt + En ...

  3. yum无法安装nginx

    yum无法安装nginx,检查yum配置文件  

  4. ubuntu 铺满桌面 调整字体 安装firefox中文版

    ubuntu 铺满桌面 安装 open-vm-tools sudo apt-get install open-vm-tools sudo apt-get install open-vm* . rebo ...

  5. GSLB工作原理

    参考文档: http://chongit.github.io/2015/04/15/GSLB%E6%A6%82%E8%A6%81%E5%92%8C%E5%AE%9E%E7%8E%B0%E5%8E%9F ...

  6. [ARC073C] Ball Coloring

    简要题意 \(N\) 个盒子,每个盒子里有两个数.现在要把盒子中的数分成两种颜色,满足: 每个盒子中的数分别属于两种颜色,每个数恰好属于一种颜色 两种颜色的数的极差的乘积最小 求这个最小值 \(N \ ...

  7. python生成随机中文姓名和拼音

    def sayhello(): print('hellopython') import pinyin import random def random_name(): # 删减部分,比较大众化姓氏 f ...

  8. 【论文写作】Vancouver style

    参考文献引用风格之 Vancouver style 需要在引用出使用阿拉伯数字(1,2,3...)标注参考文献序号. 示例: Deep Learning [1]. Reference [1] LeCu ...

  9. visual studio 2015 IOS开发连接mac时提示错误couldn't connect to xxxx, please try again的一个方法

    本人使用虚拟机MAC.原本使用虚拟机中的VS2015连接正常没有问题. 但是当把MAC的虚拟机文件COPY到另一个机器上,提示"couldn't connect to xxxx,  plea ...

  10. [BOM]前端解析cookie为对象

    参考解析页面传参 var cookie_str = document.cookie var cookie_arr = cookie_str.split("; ") var cook ...