实例
引用 实质指针
封装
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 名词解释等的更多相关文章

  1. java名词解释

    依赖注入 DI 面向切面编程 AOP 简单java对象 POJO -- JavaBean(spring称呼) 企业级javabean EJB

  2. java名词解释,让你更好理解

    Java 开发工具包 (JDK) Java开发工具包是Java环境的核心组件,并提供编译.调试和运行一个Java程序所需的所有工具,可执行文件和二进制文件.JDK是一个平台特定的软件,有针对Windo ...

  3. nodejs、npm、grunt——名词解释

    最近着手开发一个新项目,打算从工程化的角度整理一套自己的前端开发.发布体系. grunt这些工具,之前别人用我也用,并没有认真想过它们的前世今生,正好趁着这个机会,我来理一理目前业界比较流行这些工具的 ...

  4. b2c项目基础架构分析(二)前端框架 以及补漏的第一篇名词解释

    继续上篇,上篇里忘记了也很重要的前端部分,今天的网站基本上是以一个启示页,然后少量的整页切换,大量的浏览器后台调用web服务局部.动态更新页面显示状态这种方式在运作的,从若干年前简单的ajax流行起来 ...

  5. b2c项目基础架构分析(一)b2c 大型站点方案简述 已补充名词解释

    我最近一直在找适合将来用于公司大型bs,b2b b2c的基础架构. 实际情况是要建立一个bs架构b2b.b2c的网站,当然还包括wap站点.手机app站点. 一.现有公司技术人员现状: 1.熟悉asp ...

  6. X窗口系统名词解释

    前端时间Gentoo的桌面环境出了点问题,发现自己对Linux的桌面环境了解的很少,于是恶补了一下知识,以下名词解释基本上都是来自维基百科的条目和<Linux程序设计(第三版)>.一般而言 ...

  7. maven名词解释

    Maven名词解释 Project:任何你想build的事物,Maven都可以认为它们是工程.这些工程被定义为工程对象模型(POM,Poject Object Model).一个工程可以依赖其它的工程 ...

  8. [给自己扫盲]名词解释——LAMP、MEAN、Web应用框架等

    名词解释 LAMP The LAMP software bundle (here additionally with Squid). A high performance and high-avail ...

  9. JavaSE--【转】网络安全之证书、密钥、密钥库等名词解释

    转载 http://www.cnblogs.com/alanfang/p/5600449.html 那些证书相关的名词解释(SSL,X.509,PEM,DER,CRT,CER,KEY,CSR,P12等 ...

随机推荐

  1. 怪物AI(复习)

    怪物AI执行 //-----------------------------------------------主动攻击---------------------------------------- ...

  2. HDU 1028Ignatius and the Princess III(母函数简单题)

     Ignatius and the Princess III Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d ...

  3. MySQL注入load_file常用路径

    WINDOWS下: c:/boot.ini //查看系统版本 c:/windows/php.ini //php配置信息 c:/windows/my.ini //MYSQL配置文件,记录管理员登陆过的M ...

  4. socket异步通信-如何设置成非阻塞模式、非阻塞模式下判断connect成功(失败)、判断recv/recvfrom成功(失败)、判断send/sendto

    socket异步通信-如何设置成非阻塞模式.非阻塞模式下判断connect成功(失败).判断recv/recvfrom成功(失败).判断send/sendto 博客分类: Linux Socket s ...

  5. ZOJ3554 A Miser Boss(dp)

    给你n个工件,然后有A,B,C三个工厂,然后它们加工第i个工件所需要的时间分别为a[i],b[i],c[i],然后现在要你利用三间工厂加工所有的零件,要求是任何时间工厂都不能停工,而且一定要三间同时做 ...

  6. poj 3903 Stock Exchange(最长上升子序列,模版题)

    题目 #include<stdio.h> //最长上升子序列 nlogn //入口参数:数组名+数组长度,类型不限,结构体类型可以通过重载运算符实现 //数组下标从1号开始. int bs ...

  7. 制作类似DataGrid自定义控件

    首先看一下.net自带的DataGrid,想想如何应该怎样才能实现那样的展现形式. 1)需要以网格形式显示内容. 2)网格的宽度.高度可以定义. 3)可以显示滚动条. 4)单击可以选中某个单元格. 当 ...

  8. ZOJ 1610 Count the Colors (线段树区间更新)

    题目链接 题意 : 一根木棍,长8000,然后分别在不同的区间涂上不同的颜色,问你最后能够看到多少颜色,然后每个颜色有多少段,颜色大小从头到尾输出. 思路 :线段树区间更新一下,然后标记一下,最后从头 ...

  9. 叠罗汉II

    叠罗汉是一个著名的游戏,游戏中一个人要站在另一个人的肩膀上.为了使叠成的罗汉更稳固,我们应该让上面的人比下面的人更轻一点.现在一个马戏团要表演这个节目,为了视觉效果,我们还要求下面的人的身高比上面的人 ...

  10. 绑定CPU

    处理器的亲和性 软亲和性(affinity) 意味着进程并不会在处理器之间频繁迁移,而 硬亲和性(affinity) 则意味着进程需要在您指定的处理器上运行. 通常 Linux 内核都可以很好地对进程 ...