面向对象ooDay8
精华笔记:
- 接口:
- 是一种数据类型(引用类型)
- 由interface定义
- 只能包含常量和抽象方法(所有数据默认都是常量,所有方法默认都是抽象的)
- 接口不能被实例化
- 接口是需要被实现/继承的,实现/派生类:必须重写所有抽象方法
- 一个类可以实现多个接口,用逗号分隔。若又继承又实现时,应先继承后实现。
- 接口可以继承接口
笔记:
接口:
是一种数据类型(引用类型)
由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(){}
}
补充:
水雷入场、战舰移动的功能可以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); //添加侦听---不要求掌握
类中成员的默认访问权限---------默认的
接口中成员的默认访问权限------public的
重写接口中的抽象方法时,必须加public权限
类和类------------------------继承
接口和接口------------------继承
类和接口---------------------实现
能够造型成为的类型:超类+所实现的接口
设计规则:
将所有派生类所共有的属性和行为,抽到超类中-------------抽共性
若派生类的行为(实现代码)都一样,设计为普通方法
若派生类的行为(实现代码)都不一样,设计为抽象方法
将部分派生类所共有的属性和行为,抽到接口中
接口是对继承的单根性的扩展--------------实现多继承
接口是一个标准、一种规范,实现了接口就能干某件事,不实现接口就干不了那个事
如何调错:---------------------帮助我们找到问题位置所在
快速锁定问题方法:
将方法调用的代码全都注释掉,然后一个一个放开,
放开哪个出错了,说明问题就出在那个方法上。
打桩: System.out.println(数据);
面向对象ooDay8的更多相关文章
- angular2系列教程(六)两种pipe:函数式编程与面向对象编程
今天,我们要讲的是angualr2的pipe这个知识点. 例子
- 一起学 Java(二)面向对象
一.方法函数 函数也称为方法,就是定义在类中的具有特定功能的一段独立代码.用于定义功能,提高代码的复用性. 函数的特点1> 定义函数可以将功能代码进行封装,便于对该功能进行复用:2> 函数 ...
- js面向对象学习 - 对象概念及创建对象
原文地址:js面向对象学习笔记 一.对象概念 对象是什么?对象是“无序属性的集合,其属性可以包括基本值,对象或者函数”.也就是一组名值对的无序集合. 对象的特性(不可直接访问),也就是属性包含两种,数 ...
- 前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型
前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型 前言(题外话): 有人说拖延症是一个绝症,哎呀治不好了.先不说这是一个每个人都多多少少会有的,也不管它究竟对生活有多么大的 ...
- .NET 基础 一步步 一幕幕[面向对象之对象和类]
对象和类 本篇正式进入面向对象的知识点简述: 何为对象,佛曰:一花一世界,一木一浮生,一草一天堂,一叶一如来,一砂一极乐,一方一净土,一笑一尘缘,一念一清静.可见"万物皆对象". ...
- 简单分析JavaScript中的面向对象
初学JavaScript的时候有人会认为JavaScript不是一门面向对象的语言,因为JS是没有类的概念的,但是这并不代表JavaScript没有对象的存在,而且JavaScript也提供了其它的方 ...
- Java程序员应该了解的10个面向对象设计原则
面向对象设计原则: 是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton.Decorat ...
- JavaScript学习笔记(三)——this、原型、javascript面向对象
一.this 在JavaScript中this表示:谁调用它,this就是谁. JavaScript是由对象组成的,一切皆为对象,万物皆为对象.this是一个动态的对象,根据调用的对象不同而发生变化, ...
- 带你一分钟理解闭包--js面向对象编程
上一篇<简单粗暴地理解js原型链--js面向对象编程>没想到能攒到这么多赞,实属意外.分享是个好事情,尤其是分享自己的学习感悟.所以网上关于原型链.闭包.作用域等文章多如牛毛,很多文章写得 ...
- .NET基础拾遗(2)面向对象的实现和异常的处理基础
Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...
随机推荐
- iOS线程 - GCD在开发中的常见问题
GCD 在开发中的常见问题 1 - 主线程中调用方法 ① 执行 testONE 后的输出结果:1 5 2 4 3 1 -(void)testONE{ 2 3 // 并发队列 4 dispatc ...
- vue 点击元素滚动到指定位置(滑动到指定位置对应标签自动选中)
一:各个模块不相同情况 1.内容部分<div class="anchor"> <div v-for="(item,index) in anchors&q ...
- mysql问题汇总含解决方案
MySQL,插入数据提示"The table `xxx` is full" 背景:MEMORY引擎,hash索引 解决方法 1. 查看当前设置的table_size show va ...
- grep 查找字符串 在文件或者文件夹中
1, 命令行能做的事情很多, grep 'XXX' ./access.log 当前某个文件下下查找某个字符串grep 'xxx' ./ -r 当前目录文件夹下查找某个字符串
- simlink物体仿真中连接scope
该模块用于连接scope和multibody仿真中物理模型的输出值.
- hibernate的校验
//不使用@valid进行校验Set<ConstraintViolation<CommonValidator>> validates = validator.validateV ...
- asp.net core 浏览器向服务端传递对象或对象数组参数服务端接收方式
日常开发中我们经常会在客户端向服务器端传递参数,下面以asp.net core为例 专门分享传递对象或对象数组方法 一.键值对专递对象 以下是一个表单,现在需求是将以下 表单 所有input元素以独享 ...
- C# goto 语法
test: Console.WriteLine("yest"); goto test;
- android 集成友盟实现 第三方分享 登录(qq,新浪,微信)
其实友盟的文档写的非常详细了,在这只是记录一下开发过程中遇到过的坑. 开发流程,先到友盟的官网注册账号创建应用,友盟的文档地址:http://dev.umeng.com/social/android/ ...
- laravel 导入导出(实际上还是php代码实现)
1.导出 public function excel(){ $data=User::all(); $data=json_decode(json_encode($data), ...