超级警探大战悍匪2java_Java笔记一
**面向对象三大特性 **
封装
将抽象性函式接口的实现细节部分包装、隐藏起来
优点:
良好的封装能够减少耦合。
类内部的结构可以自由修改。
可以对成员变量进行更精确的控制。
隐藏信息,实现细节。
实现:把属性设为private类型,提供get\set方法。
继承
优点: 提高维护性,代码更加简洁,提高代码的复用性(复用性主要是可以多次使用,不用再多次写同样的代码)。
缺点:类之间的耦合高,代码独立性差。
特性:
子类拥有父类非 private 的属性、方法。
子类可以用自己的方式去实现父类的方法且可以对父类进行扩展。
可以单继承、多重继承,不可以多继承(一个类继承一个以上的类)
关键字:
extends(继承)
implenments(实现)
super关键字:实现对父类成员的访问(在子类方法中super.方法),用来引用当前对象的父类。
this关键字:指向自己的引用。
final关键字:声明类可以把类定义为不能继承的;用于修饰方法,该方法不能被子类重写:定义实例变量,不能被修改。
重写是子类对父类的允许访问的方法的实现过程进行重新编写。即定义属于自己的行为特点,主在过程。
参数列表与被重写方法的参数列表必须完全相同。
返回类型与被重写方法的返回类型可以不相同,但是必须是父类返回值的派生类(java5 及更早版本返回类型要一样,java7 及更高版本可以不同)。
访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类的一个方法被声明为 public,那么在子类中重写该方法就不能声明为 protected。
声明为 final 的方法不能被重写。
声明为 static 的方法不能被重写,但是能够被再次声明。
子类和父类在同一个包中,那么子类可以重写父类所有方法,除了声明为 private 和 final 的方法。
子类和父类不在同一个包中,那么子类只能够重写父类的声明为 public 和 protected 的非 final 方法。
重写的方法能够抛出任何非强制异常,无论被重写的方法是否抛出异常。但是,重写的方法不能抛出新的强制性异常,或者比被重写方法声明的更广泛的强制性异常,反之则可以。
构造方法不能被重写。
如果不能继承一个类,则不能重写该类的方法。
重载是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。
被重载的方法必须改变参数列表(参数个数或类型不一样); 被重载的方法可以改变返回类型; 被重载的方法可以改变访问修饰符;
被重载的方法可以声明新的或更广的检查异常;
多态
三个必要条件:继承、重写、父类引用指向子类对象
优点:使程序有良好的扩展,对所有类的对象进行通用处理
1.可替换性:多态对已存在的代码具有可替换性。
2.可扩充性:多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。实际 上新加子类更容易获得多态功能。
3.接口性:多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。
4.灵活性:它在应用中体现了灵活多样的操作,提高了使用效率。
5.简化性:多态简化了对应用软件的代码编写和修改过程。
超级警探大战悍匪2java_Java笔记一相关推荐
- 超级警探大战悍匪2java_JavaWeb之会话技术
会话技术 1.会话:一次会话中包含多次请求和响应. 一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止 2.功能:在一次会话的范围内的多次请求间,共享数据 3.方式: 1.客户端 ...
- 【Python飞机大战游戏实战+笔记】黑马程序员Python教程项目实战记录【超详细】
博主在哔哩哔哩上学习了黑马程序员的python教程,并且完成了老师讲的项目实战,为了巩固知识点通过这篇博客来记录一下. 目录 1. 创建python项目+pygame模块下载 1.1 创建项目 1.2 ...
- UML大战需求分析--阅读笔记02
这次阅读了第三章--类图.本章主要讲解了类图的基本使用规则和一些使用的例子.类图是UML中非常重要的一部分,作用很大. 类图之间有五种关系:关联关系,聚合关系,组合关系,泛化关系,依赖关系.关联关系有 ...
- UML大战需求分析阅读笔记——03
什么是面向过程的?什么是面向对象的?这个疑问在我刚入学学习C++的时候就有了,当时什么都不懂,遇见的全部都是闻所未闻的新名词.新概念,搞得自己一头雾水,今天看到第三章的开头语时发现了一种很有趣很通俗的 ...
- UML大战需求分析阅读笔记——02
第二章主要就讲了两个问题:1.如何读懂用户需求 2.什么才是良好的与用户之间的关系. 一.如何读懂用户需求: 用户毕竟不是专业人士,有时候提出的需求和他本想达到的要求并不一致,所以我们做需求分析时不能 ...
- UML大战需求分析阅读笔记——01
UML图分为结构型和行为型两种 ,结构型是静态的,而行为型是动态的.可以看成静态的有:哪些类.哪些构件.系统最后怎样部署:可以看成动态的有:如何与用户交互.各个类,构件,模块之间如何联系. 一.结构型 ...
- unity3d 2d游戏(太空大战)开发笔记
最近刚开始看unity3d游戏开发,感觉2d游戏似乎简单些,所以先从2d游戏入手试试看吧. 2d游戏大约要分为背景,角色(需要控制的己方角色car,敌机enemy,奖励物品prop),ui(分数显示, ...
- 用 Java 实现坦克大战,这个有点强了!
在Java开发中,坦克大战项目和23种设计模式无疑是经典中的经典,就算是开发5年甚至是10年以上的开发者,都不敢说自己真真实实掌握了23种设计模式,希望大家能够好好学习,并且能够掌握这些细节性的东西. ...
- 23种设计模式详解_太厉害了,清华大牛一个坦克项目就把23种设计模式给抽丝剥茧了...
坦克大战项目 坦克大战项目通过一个联机对战游戏的手把手,一行一行的开发过程,让你精准的理解和运用JavaSE,DesignPatterns , TCP/IP, 多线程, NIO等基础知识.真正理解项目 ...
- Java三十天速成(java基础篇)
Day01~04 ## 一. 数据类型和变量 package test;public class hello {public static void main(String[] args) {Syst ...
最新文章
- brew gd php_PHPBrew 使用指南
- python安装教程windows-PyCharm 安装教程(Windows)
- 【计算机网络】数据链路层 : IEEE 802.11 无线局域网 ( 802.11 MAC 帧头格式 | 无线局域网分类 )
- vscode里好用的html插件_知乎口碑最好的六大PPT插件分享!用好插件,效率倍增...
- 并发编程-17AQS同步组件之 Semaphore 控制并发线程数的信号量
- A wizard’s guide to Adversarial Autoencoders: Part 3, Disentanglement of style and content.
- python中用来回溯异常的模块_python学习笔记(异常)
- C 基本语法 | 菜鸟教程
- 读者来信(1)——项目经理,不要迷信制度!
- How is syntax error in Vue detected - Vue的语法错误检查机制介绍
- MapReduce原理全剖析
- SQL 学习笔记一 入门
- 清华排名首登亚洲第一,今年财务预算300亿
- [转]出租车中的MBA
- MTK6763平台手机 在国外无法成功注册VOLTE。求解
- JAVA输入/输出流详细讲解
- 计算机打印机图标删除吗,故障之:打印图标消失及打印任务无法取消
- Beta 反(tu)思(cao) 获小黄衫感言
- “90后”男子酒后乱性强奸醉酒女获刑3年
- 干货 | 数字经济创新创业——数字技术创造新经济