java 名词解释等
类
实例
引用 实质指针
封装
for 的不同形式 for (int i : Location)
集合类 ArrayList<Egg> = new ArrayList<Egg>()
import 作用, 只是提供缩写
继承 "有一个" 和 "是一个" 区别
多肽 向上转型 和 向下转型 ( 向上转型没问题, 向下转型要判断 )
final class 不能被继承的累
final 变量, 常量
final 方法, 不能被重写(覆盖)
如果内部类被定义为 private final class Inner, 那么即不能被继承, 因为有final, 也不能被外部调用, 因为有Private, 所以就只能内部用
方法的重写(覆盖), 是指子类的方法重写父类同名方法
注意, 重写和多肽是完全不同的两个概念
多肽, 是指"动态绑定", 向下转型, 向上转型,( 也是依赖继承, 才能实现多肽)
接口, interface, 特殊的抽象类, 只能拥有抽象方法.
抽象类, abstract class, 只能被继承, 不能被实例化的类, 例如 animal
抽象方法, 没有实体, 只能被覆盖, 抽象方法只能存在于抽象类中, 如果一个类里有一个以上抽象方法, 则必须声明为抽象类
如果一个类继承了抽象类, 并且没有实现该抽象方法, 那么这个类也必须是抽象的
抽象类中可以存在非抽象方法, 可接口里只能声明一种用 public 来修饰的没有具体实现的方法.抽象类的成员变量可以被不同的修饰词来修饰, 但是接口中的成员变量默认都是静态常量.
设计类
如果新的累无法对其他类通过IS-A 测试, 就设计成不继承的类 // 类
只有在需要某类特殊化的版本时, 以覆盖或增加新的方法来继承现有类 // 继承
当你需要定义一个子类的模板, 又不系那个让程序员初始化此模板, 设计抽象类 // 抽象类
如果定义出类可以扮演的角色, 接口 // 接口
内存结构
局部变量 和 方法(包括实例方法) 存储在 栈 中
实例变量 和 对象 保存在 堆 中
构造函数, 默认构造函数, 注意在构造函数首行, supper(), 或 this(aaa) 这两种不能兼得, 必须放在首行, 想栈结构
另外, 构造函数会有连锁反应, 总是先调用父类构造函数.
静态方法, 不需要实例化就可以调用的方法, 类似静态变量, 静态变量是一种“共享变量”
包装类, 是只对原子类型的包装, 例如 int 和 integer.
异常, 首先是方法抛出异常, 而 try catch 只是在你调用该方法时, 要用的一种手段来捕获异常. 处理多重异常时, catch 要由小变大
事件与监听
事件源: 能够触发的事件 例如, button 是一个事件源
监听接口, 是介于事件源与处理事件的对象之间的桥梁 button.addActionListener(this), 其中由于这个事件源实现了监听接口, 那么桥梁建立成功, this就是用来处理事件触发后的对象
如果事件源能够触发多种事件, 那么如何处理的, 我们的办法就是定义两个对象分别来进行处理, 那么怎么做的?
1. has-A 的关系, 我们可以在这个类中定义两个实例变量,这两个对象分别就是处理事件的对象的实例, 但是这样有个问题, 就是这两个处理的对象不能够访问事件源本身,
例如, 屏幕上有个圆形图, 我想每次点击它时, 它变大, 事件点击->事件处理都没问题, 但是事件处理->圆变大就有问题, 因为事件处理对象无法访问到“圆”, 所以这个方法不行
2. 内部类, 同样是定义两个实例变量, 这两个变量时处理事件对象的实例, 但是这两个处理事件的对象的类的定义在事件源内部, 这样, 这两个类就可以访问到事件源中的内容,还是上边的例子
例如, 屏幕上有个圆形图, 我想每次点击它时, 它变大, 事件点击->事件处理->圆变大都没有问题.
内部类可以随意使用外部类的成员变量(包括私有)而不用生成类的对象, 这是内部类的唯一优点.
所谓RMI, 是一种远程调用接口, 就好比, 你目前想调用一个对象, OK, 没问题, 因为都在你本地的java虚拟机中,但是如果你想调用其他机器的类,怎么办, 可以使用java提供的 scoket 来实现,
java 有一套组件RMI, 使得你调用其他机器的类时, 感觉和调用你本地虚拟机的类一样感觉.
泛型, <>, 目前看到 ArrayList 在使用, 感觉像类型模板
java 命令行编辑模式 javac -d ( 将class文件放置目录 ), -classpath 引用的类, -sourcepath 提供到package根部, 因为有是有你引用了别的类, 而该类没有在classpath中, 那么使用这个源路径帮助编译
环境变量 JAVA_HOME, classpath, PATH
单元测试 JUnit
java 名词解释等的更多相关文章
- java名词解释
依赖注入 DI 面向切面编程 AOP 简单java对象 POJO -- JavaBean(spring称呼) 企业级javabean EJB
- java名词解释,让你更好理解
Java 开发工具包 (JDK) Java开发工具包是Java环境的核心组件,并提供编译.调试和运行一个Java程序所需的所有工具,可执行文件和二进制文件.JDK是一个平台特定的软件,有针对Windo ...
- nodejs、npm、grunt——名词解释
最近着手开发一个新项目,打算从工程化的角度整理一套自己的前端开发.发布体系. grunt这些工具,之前别人用我也用,并没有认真想过它们的前世今生,正好趁着这个机会,我来理一理目前业界比较流行这些工具的 ...
- b2c项目基础架构分析(二)前端框架 以及补漏的第一篇名词解释
继续上篇,上篇里忘记了也很重要的前端部分,今天的网站基本上是以一个启示页,然后少量的整页切换,大量的浏览器后台调用web服务局部.动态更新页面显示状态这种方式在运作的,从若干年前简单的ajax流行起来 ...
- b2c项目基础架构分析(一)b2c 大型站点方案简述 已补充名词解释
我最近一直在找适合将来用于公司大型bs,b2b b2c的基础架构. 实际情况是要建立一个bs架构b2b.b2c的网站,当然还包括wap站点.手机app站点. 一.现有公司技术人员现状: 1.熟悉asp ...
- X窗口系统名词解释
前端时间Gentoo的桌面环境出了点问题,发现自己对Linux的桌面环境了解的很少,于是恶补了一下知识,以下名词解释基本上都是来自维基百科的条目和<Linux程序设计(第三版)>.一般而言 ...
- maven名词解释
Maven名词解释 Project:任何你想build的事物,Maven都可以认为它们是工程.这些工程被定义为工程对象模型(POM,Poject Object Model).一个工程可以依赖其它的工程 ...
- [给自己扫盲]名词解释——LAMP、MEAN、Web应用框架等
名词解释 LAMP The LAMP software bundle (here additionally with Squid). A high performance and high-avail ...
- JavaSE--【转】网络安全之证书、密钥、密钥库等名词解释
转载 http://www.cnblogs.com/alanfang/p/5600449.html 那些证书相关的名词解释(SSL,X.509,PEM,DER,CRT,CER,KEY,CSR,P12等 ...
随机推荐
- Tomcat漏洞说明与安全加固
Tomcat是Apache软件基金会的一个免费的.开放源码的WEB应用服务器,可以运行在Linux和Windows等多个平台上,由于其性能稳定.扩展性好.免费等特点深受广大用户的喜爱.目前,互联网上绝 ...
- AD转换后数字量的处理
假设模拟输入电压的最大值为5V,A/D转换器件为8位转换. [该转换器的分辨率为1/2n=0.3906%.] [能分辨输入模拟电压变化的最小值为5*0.3906%=19.5mv.] 则模拟电压与数字输 ...
- 【译】使用 Python 编写虚拟机解释器
[译]如何使用 Python 创建一个虚拟机解释器? 原文地址:Making a simple VM interpreter in Python 更新:根据大家的评论我对代码做了轻微的改动.感谢 ro ...
- Linux性能检测命令 - vmstat
一.vmstat命令描述 最常见的Linux/Unix监控工具想必是vmstat了,vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可以展现给定时间间隔的服务 ...
- 从Config文件中读取节点的配置信息
下面是web.config中与本内容有关的细节 <appSettings> <add key="servername" value="www" ...
- 三、Android NDK编程预备之Java jni入门创建C/C++共享库
转自: http://www.eoeandroid.com/thread-264971-1-1.html 应网友回复,答应在两天前要出一篇创建C/C++共享库的,但由于清明节假期,跟朋友出去游玩,丢手 ...
- pku 1703(种类并查集)
题目链接:http://poj.org/problem?id=1703 思路;个人觉得本质上还是和带权并查集一样的,只不过多了一个MOD操作,然后就是向量关系图稍微改动一下就变成种类并查集了,对于本题 ...
- 说说Java中的代理模式
今天看到传智播客李勇老师的JDBC系列的第36节——通过代理模式来保持用户关闭连接的习惯.讲的我彻底蒙蔽了,由于第一次接触代理模式,感到理解很难,在博客园找到一篇文章,先记录如下: 引用自java设计 ...
- 为什么toString方法可以用来区分数组和对象?
首先大家都应该知道在javascript中只有是对象都存在toString方法,将调用该方法的值转换为字符串返回,如下: var arr = [1, 2, 3]; console.log(arr.to ...
- PHP页面跳转几种实现技巧
PHP被许多程序员用来开发WEB的首选语言.在实际开发中,网站的各项功能都可以通过PHP语言的编写来满足,比如PHP页面跳转这一方法. 探讨PHP变量解析顺序如何获取提交数据 深入解读PHP运行机制 ...