一、接口
1.接口主要用来描述类具有什么功能,而并不给出每个功能的具体实现. (P204)
2.接口中的方法自动属于public,因为声明时可以不使用关键字public. 但是在实现接口时,必 须把方法声明为public,否则,编译器将视为类的默认访问属性(包可见性)(P205)
3.接口可以定义常量[color=red][b](自动设置为public static final)[/b][/color],但是绝不能含有实例域,也不能实现方法。-----可以将接口视为没有实例域的抽象类。
4.类与子类不符合“反对称”的规则时(如调用equals等方法),有两种解决方法:
(1).进行类的检查,如果类不一样,直接抛异常.
例6-1 [code="java"]if(getClass()!=other.getClass()) throw new ClassCastException();[/code]
(2).如果存在通用的算法,对不同的子类都适合,则在超类中提供该方法,并声明为final.
5.标记接口
例如,Cloneable就是标记接口(tagging interface,或者marker interface)。标记接口没有方法,因为其目的不是为了实现某个方法,惟一的目的是可以用instanceof进行类型检查。
二、内部类
1.只有内部类可以是私有类,常规类只可以具有包可见性,或公有可见性。
2.内部类可以访问外围的私有数据;
3. 局部内部类:
(1). 定义在方法中的内部类。对外完全隐藏,方法之外的外围类也不知道。
(2). 只可以引用定义为final的局部变量 。
4. final变量可用于局部变量、实例变量和静态变量。意义都是:在创建这个变量后,只能够赋值一次。不过,在定义final变量的时候,不必进行初始化。 (P228)
可以将声明一个长度为1的数据变量,这样,它不能引用另一个数组,但是数据中的数据可以变。
5. 匿名内部类
(1)只需创建一个对象;
(2)类比较短;
(3)没有构造器。
6.静态内部类 (P231)
(1). 不需要访问外围类;
(2). 只有内部类可以是static
(3). 声明在接口中的内部类自动成为static和public。
三、代理
1.代理可以在运行时创建一个实现了一组给定接口的新类。
2.无论何时调用代理对象的方法,调用处理器的invoke方法都会被调用,并向其传递Method对象和原始的调用参数。调用处理器必须给出处理调用的方法。
Object invoke(Object proxy, Method method, Object[] args)
相关推荐
018最新JAVA架构师培训视频教程(附笔记、源码、视频教程 全网盘链接) 内含完整资料及代码: 一、互联网并发编程 二、互联网网络通信编程 三、JAVA虚拟机 四、Linux部分 五、数据库设计与优化 六、互联网...
nested [java] 嵌套的 ['nestid] '如:内部类(nested classes) Object [java] 对象 ['ɒbdʒekt] Overload [java] 方法的重载(不同参数列表的同名方法) [,әuvә'lәud] Override [java] 方法的覆盖(覆盖父类的...
第六题 由前序和中序重建重建二叉树 测试6 第七题 使用两个栈实现队列 测试7 第八题 寻求旋转带宽的最小数字 测试8 第九题 斐波那契数列的第n项(青蛙跳台阶) 测试9 第十题 二进制中1的个数 测试10 第十一题 数值的...
技术基础 New Folder 多样式星期名字转换 [Design, C#] .NET关于string转换的一个小Bug Regular Expressions 完整的在.net后台执行javascript脚本集合 ASP.NET 中的正则表达式 常用的匹配正则表达式和实例 经典正则...
6、JS设置与查看网页的解析模式(值) 249 7、JS判断对象是否已经存在 249 8、CSS设置网页在IE下为灰色显示 250 9、HTML A链接CSS样式 251 10、CSS强制换行样式 251 11、CSS强制同行超出部分隐藏样式 253 12、CSS...
ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。 拉里•埃里森 就业前景 从就业与择业的...
mybatis实战教程mybatis in action之六与Spring MVC 的集成 mybatis实战教程mybatis in action之七实现mybatis分页源码下载 mybatis实战教程mybatis in action之八mybatis 动态sql语句 mybatis实战教程mybatis in ...
│ 淘淘商城第六天笔记.doc │ ├─07.第七天 │ 01.第六天内容复习.avi │ 02.课程计划.avi │ 03.redis单机版安装.avi │ 04.redis集群安装.avi │ 05.jedis客户端.avi │ 06.jedis客户端在spring中的配置.avi │...
这里一共找到了6个,很明显前面的几个开头字符都是小写,不符合我们的要求,那么必然就是最后一个了,双击最后一行直接定位,修改为“关于软件”,然后保存…… 注意: 1.进行这部分修改的时候,不要在修改内容里面...