精华笔记:

  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. Spring Web MVC注解

        @RequestMapping @RequestMapping注解的主要用途是将Web请求与请求处理类中的方法进行映射. Spring MVC和Spring WebFlux都通过RquestM ...

  2. uniapp 配置钉钉小程序package.json文件

    { "uni-app": { "scripts": { "mp-dingtalk": { "title": " ...

  3. linux用户权限与组

    less  /etc/passwd 查看用户文件 passwd tom[用户名] 修改密码 useradd suguihua[用户名] 新增用户名 vim  /etc/passwd 将xiaoqian ...

  4. kali WiFi相关研究(学习中...)

    基础环境准备: 笔记本一台E470c(内置网卡 Qualcomm Atheros QCA9377 802.11ac) # 经过测试创建虚拟AP不成功 外置网卡一个:UGREEN 绿联AC1300M,芯 ...

  5. editorconfig配置

    EditorConfig 有助于为不同 IDE 编辑器上处理同一项目的多个开发人员维护一致的编码风格. 配置使用: 1.文件配置 [*] # 表示所有文件适用 charset = utf-8 # 设置 ...

  6. 空间数据格式(地理数据格式):GeoJSON(FeatureCollection)与EsriJSON(FeatureSet/ArcGIS格式)

    一.FeatureCollection(GeoJSON)格式介绍 https://learn.microsoft.com/en-us/javascript/api/azure-maps-control ...

  7. mac sourcetree required password

    coding   c85Ao 解决办法,用http拉取,使用命令行clone 每次push需要密码解决方法 sourcetree 不停的让输入密码,报 password required1.在终端(t ...

  8. mysql实训

    MYSQL You have an error in your SQL syntax; check the manual that corresponds to your MySQL server v ...

  9. 关于el-dialog弹窗组件关闭报错事件

    以下写法,向父组件抛出关闭事件, (正常点击弹窗footer的关闭时没有报错,但是点击空白处及右上角的×号,就会报以上错误) 原因, close事件为已经关闭了弹窗后的事件,官方还给出了  befor ...

  10. Apache 基本配置 代理 重定向 跨域 https ssl证书 在windows下常用命令

    官网下载地址 https://httpd.apache.org/ => https://httpd.apache.org/docs/current/platform/windows.html#d ...