易截截图软件、单文件、免安装、纯绿色、仅160KB

java中内部类的使用

内部类的使用的优缺点:
优点:减少了在类文件编译后的产生的字节码文件的大小
缺点:使程序结构不清晰
使用内部类的注意事项:
内部类的使用一般都与所在的外部类有一定的关联,它是在一个类的内部嵌套定义的类,它可以是其它类的成员,也可以在一个语句块的内部定义,还可以在表达式内部匿名定义(匿名内部类)。
内部类有如下的特性:
.一般用在定义它的类或语句块之内,在外部引用它时必须给出完整的名称,名字不能与包含它的数百名相同
. 可以使用包含它的类的表态和实例成员变量,也可以使用它所在方法的局部变量
.可以定义为abstract
.若被声明为static,就变成了顶层类,不能再使用局部变量
.若想在inner class 中声明任何static成员,则该inner class必须声明为static.
.匿名类是一种特殊的内部类,它是在一个表达式的内部包含一个完整的类的定义。匿名内部类不需要任何的修饰词。
.内部类可以使用任何听修饰符,但是如果声明为static类,则等同于一个标准类。
.如果非表态内部类,就拥有对外部类的所有成员的完全访问权限,包括实例字段和方法。为实现这一行为,非表态内部类存着对外部类的实例的一个隐匿的引用。
.所以对一个非表态内部类进行实例化需要采用不同语法的new 语句,这种开工的new 语句要求外部类的一个实例,使内部类能在那个实例的上下文中创建。
.非表态内部类具有一些限制。尤其是,它们不能声明表态初始化列表和表态成员,除非是在常量字段中。此外方法内部声明的内部类不能访问方法的局部变量和参数,除非它们被初始化成final.
.表态内部类当中可以有表态数据,表态方法或者是又一个表态内部类。而非表态内部类当中不能有静态数据。这是它们的区别。
.局部内部类:Java内部类也可以是局部的,它可以定义在一个方法甚至一个代码块之内。
有一点需要注意的是,匿名内部类由于没有名字,所以它没有构造函数(但是如果这个匿名内部类继承了一个只含有带参数构造函数的父类,创建它的时候必须带上这些参数,并在实现的过程中使用super关键字调用相应的内容)。如果你想要初始化它的成员变量,有下面几种方法:
  如果是在一个方法的匿名内部类,可以利用这个方法传进你想要的参数,不过记住,这些参数必须被声明为final。
  将匿名内部类改造成有名字的局部内部类,这样它就可以拥有构造函数了。
  在这个匿名内部类中使用初始化代码块。
  为什么需要内部类?
  java内部类有什么好处?为什么


相关文档:

java与mysql乱码的问题 [转]

解决方法一:(最重要的一种方法)
你看下my.ini,有无
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
然后建立表时,也要用(比如)
DROP   TABLE   IF   EXISTS   `Company`;
CREATE &nb ......

java ASM

Java ASM
我们知道Java是静态语言,而python、ruby是动态语言,Java程序一旦写好很难在运行时更改类的行为,而python、ruby可以。
不过基于bytecode层面上我们可以做一些手脚,来使Java程序多一些灵活性和Magic,ASM就是这样一个应用广泛的开源库。
ASM is a Java bytecode manipulation framework. It can be used t ......

Java ByteCode

Java ByteCode
1,什么是Bytecode
C/C++编译器把源代码编译成汇编代码,Java编译器把Java源代码编译成字节码bytecode。
Java跨平台其实就是基于相同的bytecode规范做不同平台的虚拟机,我们的Java程序编译成bytecode后就可以在不同平台跑了。
.net框架有IL(intermediate language),汇编是C/C++程序的中间表达方式, ......

Java入门总结

面向对象程序设计共有三大特性:封装、继承、多态;
这三大特性之间相互关联,其中封装性是面向对象的基础,继承性是软件重用的关键。而多态性则必须存在于继承的环境之中,是对面向对象程序设计的补充。
封装;
Java5.0新特性;基本数据类型à封装类 封箱; 封装类à基本数据类型 拆箱;
package review; ......

java使用JNI调用C++函数

网上有了很多这样的文章,不过感觉并不是很全,我都东找西找才最终把JAVA调用c++给搞定。
下面引用了很多网上已经有的的内容,我在这里只是整合一次,让以后的朋友少走网路。
多说无益,具体如下:
作者:mykoma
假设所有文件都放在d:\
Step 1:
写JAVA文件
例如程序testdll.java,内容为:   
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号