Java 内部类
定义在一个类内部的类叫内部类,包含内部类的类称为外部类。
内部类可以声明public、protected、private等访问限制,
可以声明为abstract的供其他内部类或外部类继承与扩展,
或者声明为static、final的,也可以实现特定的接口。
static的内部类行为上象一个独立的类,
非static在行为上类似类的属性或方法且禁止声明static的方法。
内部类可以访问外部类的所有方法与属性,
但static的内部类只能访问外部类的静态属性与方法。
Java的设计者在内部类身上的确是专心良苦。学会使用内部类,是把握Java高级编程的一部分,它可以让你更优雅地设计你的程序结构。
为什么需要内部类?
java中的内部类和接口加在一起,可以实现多继承。
可以使某些编码根简洁。
隐藏你不想让别人知道的操作。
非静态内部类对象有着指向其外部类对象的引用
一个静态成员类,若去掉“static”关键字,就成为成员类。
package tao.test;
public class Outer {
public Outer(){
// 在内部类的外部类的构造方法中创造内部类对象
new Inner();
}
public static void fun(){
Outer out = new Outer();
Inner in = out.new Inner();
// 如果内部类被 static 修饰,则可以
// Inner in = new Inner();
}
//static class Inner{
class Inner{
public Inner(){
Outer out = new Outer();
}
public Outer getOuter(){
return Outer.this;
}
}
相关文档:
Java学习从入门到精通
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
第一:
1.String是最基本的数据类型么?
答:不是。基本的数据类型包括:byte,int,char,long,float,double,boolean和short.
java.lang.String类是final类型的,因此不可以继承这个类,不能修改这个类。
2.静态变量和实例变量的区别?
答:static i = 10 ;//常量
&nb ......
为寻求java代码的性能优化,从网上搜到利用final关键字进行编译时inline优化的方法,但是真的有效吗?实际测试中发现未必,甚至性能影响巨大,最终放弃了使用final优化的想法。
测试环境:Windows XP SP2,JDK 1.6.0_15-b03,Eclipse 3.5 SR1。
package test;
public class Test {
public static void main(St ......