java基础学习整理(一)
lesson1:
D0s命令:
1.回到根目录,>cd \
2.复制命令行下的内容,右击标记所要复制的内容,这样就已经复制好了,右击粘贴就可以了。
3.查看,设置环境变量
查看:set classpath
设置:set classpath=.
jar打包文件:
1.打包几个字节码文件
如:jar cvf classtest.jar Hello.class Welcome.class
2.把一个文件内的所有文件打包
如:jar cvf testfolde.jar testjars/
testjars:是文件夹名称
java中的基本数据类型:
byte b;//-128~127;1个字节
b =3;
b=(byte)(b*3);
System.out.println(b);
short s;//-32768~32767
int i;//4个字节
long l;//8个字节
char ch;//java中是2个字节,0~65535;在C++ 只一个字节;
ch=97;
System.out.println(ch);
*/
float f;//4个字节
f = 1.3f;
//System.out.println(f);
double d ;//8个字节
boolean b;//只能是true或false
b = true;
System.out.println(b);
lesson2:
1.类中的静态方法属于类本身,不属于某个实例。可以直接通过类名调用静态方法,静态方法在实例化就已
经装载了。
2.类中静态变量只属于类本身,不属于某个实例。
3.非静态的方法中可以调用静态方法和静态变量,而在静态方法中不能调用非静态方法和静态变量;
4.静态方法和静态成员在所有的实例对象中共享。
5.关键词final定义常量,final修饰的变量应该定义时初始化或是在构造函数中对final修饰的变量初始化;
但是针对静态常变量只能在定义时就初始化。
6.构造方法不能被继承;多太就是通过子类赋给父类对象,方法执行时动态的执行相应的方法;
7.子类对象是父类的的实例,如学生是人的实例;
lesson3:
1.javac -d . Test.java;在当前目录下生成字节码文件,目录层次与包层次对应;
2.set classpath = %classpath%;D:\mybole;修改环境变量;
3.java -d . *.java;编译当前文件下的所有java文件;
4.缺省的类只能在同一个包中访问,否则要导入;
5.final类,不能派生出子类;也就是不能被继承;标准类不想被修改;
6.同包内私有方法不能被访问;子类可以访问父类的public,protected的方法;
在不同包中的类方法只有public方法可以被访问;
7.class中所有的private和static方法自然就是 final方法;
8.在类中没有方法体的方法就是抽象方法;抽象方法所在的类应该是抽象类;子类不实现抽象类中的抽象方
法,那么子类也是抽象类;
9.native方法:是用户在java中可以使用,但不能编写的方法;
JNI(java native interface),是Java和本地应用程序的中间件;
10.javah -jni HelloWorld 产出头文件;
11.finalize()是java回收的方法,System.gc()方法是立即回收接收;
12.抽象类不能实例化,子类只把抽象父类的所有抽象方法实现了才能实例化。
lesson4:
1.内部类,就是在一个类中定义另一个类。内部类是一个独立类,可以访问外部类中的所有方法和成员。
2.用new新建对象,对象保存在堆内存中,对象的引用保持栈内存;内部类对象中有外部类的引用;
3.先产生外部类,后外部类产生内部类。内部类的定义可以放置函数,条件语句,语句块中,也就是无论内
部类嵌套多深,都可以随意访问外部内的成员和方法;方法内部定义内部类要访问方法的局部变量或是参数
是,必须是final型的变量或参数。非静态内部类不能有静态方法;
4.从内部类派生出类时,要先对其外部类引用;
5.通过接口,私有内部类隐藏内部类的实现细节;接口和内部类的结合可以实现方法的分离;
6.实现C 继承 A,B,继承B时是用匿名内部类;
7.异常处理,抛出异常throws,只向上一级抛出;抛出非运行时异常(io异常)要异常报告或捕获
8.try ,catch,finally,finally无论是否发生异常都会执行finally里面的代码;用于释放相关资源;
当程序中止执行时,finally里面的代码不执行;如System.exit(-1);非正常中止,finally里的代码不执行
9.子类抛出异常只能抛出父类异常的一部分或全部,但不能多余匪类异常
10.命名规范:
包名:名字全部小写字母组成;
类名和接口名:由大写字母开头的单词组成,Person,RuntimeException
类变量名:小写字母开头,后面的单词用大写字母开头,如:index,currentImage
类方法名:小写字母开头,后面的单词用大写字母开头,如:run(),getBalance();
Static final命名:名字字母都大写,如:PI
数组命名:byte[] buffer;
lesson5:
1.除八种基本数据类型以外,其余对象都是引用类型变量(就是对象的首地址);“==”是比较两个变量的
数值是否相等;equals方法是比较对象所指向的内容是否相等;
2.针对String的“+”和“+=”,是Java中唯一被重载的操作符;在Java中,不允许程序员重载操作符;
3.String对象是一个常量对象,不可以像被修改,赋值时是在新的引用来处理的;StringBuffer是可以修改
的,StringBuffer().Appand();
4.索引从0开始,sb.delete(4,8);//包含开始位置,不包含结束位置;删除>=4&&<8的内容用
5.new 分配空间时都是在堆内存;栈内存存对象的地址(引用);
6.main方法由java虚拟机调用;args接收命令行参数;如 java StringTest tiger;System.out.println
(args[0]);输出tiger;
7.java中,传参时,都是传值方式进行;
对于基本数据类型,传递的是数据的拷贝;对于引用类型,传递的引用的拷贝;
8.clone,对象克隆;在对象要实现Cloneable,和下面的方法;深拷贝就是要把引用对象成员(String对象除
外)都实现clone()方法;
public Object clone()
{
Object o=null;
try
{
o=super.clone();//注意要调用Object对象的super.clone();
}
catch(CloneNotSupportedException e)
{
e.printStackTrace();
}
return o;
}
说明:以上是部分学习总结,先记录下来,方便备查!继续学习,整理,总结!