1,在Linux上设置java环境变量
首先进入当前用户home路径下,在home路径下输入:ls -a 显示当前目录下所有文件,linux平台的环境变量是通过.bash_profile文件来设置。
其次使用无格式编辑器打开该文件,在该文件的PATH变量后添加:/home/yeeku/Java/jdk1.7.0/bin,其中/home/yeeku/Java/jdk1.7.0/改成你自己的JDK安装路径。
修改后的PATH变量设置如下:PATH=.:$PATH:$HOME/bin:/home/yeeku/Java/jdk1.7.0/bin
最后在.bash_profile文件最后添加导出PATH变量的语句,如:export PATH 或者重新登录Linux平台,执行命令:source .bash_profile。
2、注意java中的数组变量,数组是一种引用类型变量,这个引用变量还未指向任何有效的内存,因此定义数组时不能指定数组的长度。由于定义数组只是定义了一个引用变量,并未指向任何有效的内存空间,所以还没有内存空间来存储数组元素,必须对数组进行初始化后才可以使用。
1)静态初始化:初始化时由程序员显示指定每个数组元素的初始值,由系统决定数组长度。
语法格式:type[] arrayName; arrayName = new type[] {element1,element2,element3,element4...};
或者 int[] a = {5, 6, 7, 8};
2) 动态初始化:只指定数组的长度,由系统为每个元素指定初始值。
语法格式:type[] arrayName = new type[length];
数组元素类型为:
整数类型(byte,short,int,long)数组元素被初始化为0;
浮点类型(float,double)数组元素被初始化为0.0;
字符类型(char)数组元素被初始化为‘\u0000’;
布尔类型(boolean)数组元素被初始化为false;
引用类型(类、接口、数组)数组元素被初始化为null;
3、default(包访问权限):如果类里面的一个成员或者一个外部类不使用任何访问控制符(private、protect、public)修饰,我们就称它为包访问权限,default访问控制的成员或外部类可以被相同包下的其他类访问。
4、Java语言中常用的包:
java.lang:包含了Java语言的核心类,如String、Math、System和Thread类等,使用这个包下的类无需使用import语句导入,系统会自动导入。
java.util:包含了Java的大量工具类/接口和集合框架类/接口,例如Arrays和List、Set等。
java.net:包含了Java网络编程相关的类/接口。
java.io:包含了一些Java输入/输出编程相关的类/接口。
java.text:包含了Java格式化相关的类。
java.sql:包含了Java进行JDBC数据库编程的相关类/接口。
java.awt:包含了抽象窗口工具集的相关类/接口,构建图形用户界面。
java.swing:包含了Swing图形用户编程的相关类/接口,构建平台无关的GUI程序。
5、接口里面定义的内部类、接口、枚举类默认都采用public static两个修饰符,不管定义是否指定这两个修饰符,系统都会自动使用public static 对它们进行修饰。
6、接口和抽象类的差别:
1)接口只能包含抽象方法,不包含普通方法,而抽象类可以包含普通方法。
2)接口不能定义静态方法,抽象类可以定义静态方法。
3)接口只能定义静态常量Field,不能定义普通Field;抽象类既可以定义普通Field,也可以定义静态常量Field。
4)接口不包含构造器,抽象类可以包含构造器,抽象类里的构造器并不是用于创建对象,而是让其子类调用这些构造器来完成属于抽象类的初始化操作。
5)接口不能包含初始化块,但抽象类可以包含初始化块。
6)一个类最多只能有一个直接父类,包括抽象类;但一个类可以直接实现多个接口。
7、内部类成员可以直接访问外部类的私有数据,因为内部类被当成其外部类成员,同一个类的成员之间可以互相访问。但外部类不能访问内部类的成员变量。
8、静态成员不能访问非静态成员。
9、匿名内部类适合创建那种只需要一次使用的类,创建匿名内部类时会立即创建一个该类的实例,这个类定义立即消失,匿名内部类不能重复使用。
定义匿名内部类格式:
new 父类构造器(实参列表) | 实现接口()
{
}
匿名内部类必须继承一个父类,或实现一个接口,但最多只能继承一个父类,或实现一个接口。
匿名内部类不能是抽象类,因为系统在创建匿名内部类时,会立即创建匿名内部类的对象。
匿名内部类不能定义构造器,因为匿名内部类没有类名,所以无法定义构造器,但匿名内部类可以实例初始化块,通过实例初始化块完成构造器需要完成的事情。
10、闭包是一种能被调用的对象,它保存了创建它的作用域信息。可以把非静态内部类当成面向对象领域的闭包。
11、回调就是某个方法一旦获得内部类对象的引用后,就可以在合适的时候反过来去调用外部类实例的方法。所谓回调,就是允许客户类通过内部类引用来调用其外部类的方法。
12、手动实现枚举类:
1)通过private将构造器隐藏起来。
2)把这个类的所有可能实例都使用public static final 修饰的类变量来保存。
13、泛型方法:
修饰符 <T, S> 返回值类型 方法名(形参列表)
{
}
如:static <T> void fromArrayToCollection(T[] a, Collection<T> c);
14、获取键盘输入代码:
InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(reader);
String buffer = br.readLine();//逐行读取

1190

被折叠的 条评论
为什么被折叠?



