孙鑫java学习笔记Word文档下载推荐.docx
《孙鑫java学习笔记Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《孙鑫java学习笔记Word文档下载推荐.docx(21页珍藏版)》请在冰点文库上搜索。
![孙鑫java学习笔记Word文档下载推荐.docx](https://file1.bingdoc.com/fileroot1/2023-4/29/9ae725c4-d95c-47d2-b869-1c0d9ae9f74e/9ae725c4-d95c-47d2-b869-1c0d9ae9f74e1.gif)
按位与、或、非
正数移完后补0,移动超出舍弃掉。
负数则补1。
>
为无符号右移补0。
Javacxxx.java(编译)
Javaxxx(运行)
14节设置路径,setpath
15节:
Javapxxx表示查看xxx类中的变量和函数如上图所示
16节:
注意这里的饿this(1,1)其实是构造方法的
17节:
Staticvoidxxx();
为静态的方法,属于类的本身,只能被自己类调用,也可以被对象调用。
如类名为test,则调用为test.xxx().
里面的变量要有值,最好也设为静态的。
如在前面定义staticx;
Staticvoidxxx()
{
System.out.Println(x)
}
staticx;
定义的x相当于C语言的全局变量。
改变就改变
18节:
finalintx=1;
表示x的值为常数,相当于宏定义
或者finalintx;
然后在构造函数中初始化x;
这种构造的方法值得学习。
两个
继承:
可在子类中从写父类的方法。
当调用的时候调用的是子类中的这个方法与变量,这就是方法的覆盖。
19节:
但如果子类的对象想调用的是父类的方法(已知这个方法在之类中也存在)呢?
则我们可以用关键字super来实现,如super.breathe()
对于构造方法:
注意这里的super(30,40);
表示调用带参数的父类构造方法。
若是父类中没有这个构造方法。
将会出错。
多态性
比如用父类实例一个对象a.再用子类实力一个对象b,然后a=b;
那么打印出来的是b中方法
第三部分包、类等说明
31-33节:
包:
33节视屏中有classpath的设置:
设置到包名所对应的名的上一层目录。
JDK安装目录的:
的rt.jar中式Java提供的包
用winRAR打开后如下
其中的Java中的io中如右图,都是Java的class文件
34节:
如上两个程序所知,分别位于两个Java文件中。
由于在编译1的时候调用到2,所以要先编译1,如下的编译顺序:
Javac–d.Test2.java
Javac–d.Test.java
但这样会有点麻烦,要编译很多。
因此对于同一目录下的.java文件。
我们可以用下面的一行语句实现编译
Javac–d.*.java不用考虑哪个文件先编译后编译
当不同包中的类importcom.line.Test2;
如上图所示,导入的类要申明为public类型
35—36节
Final方法是不能被改写的,是最终的方法。
Publicfinalvoidmethord()
;
37
JNI技术以后可以用,一个其他语言的中介。
可以调用C语言C++语言的代码。
38节:
垃圾回收函数,其函数为protectedvoidfinalize();
是低优先级线程运行的,只有在内存不够时才在后台运行,内存足够时不运行,如例子。
第二个图的结果为加上了System.gc();
//运行垃圾收集函数
原函数如下:
接口的应用:
其中所有的累都是抽象的
例如定义一个sport接口。
则如下所示:
interface关键词,
同时注意Athlete中的方法的修饰要用public。
在接口当中所有的缺省的方法都是抽象的,是publicabstractvoidrun()
39节
在接口中,定义了的方法在下面的类中一定都要有实现,否则类便是应该申明为抽象的类、
很重要的一节:
显卡,主板,电脑的实现
310节
312节
内部类的引用
313节
内部类的派生
如上程序图所示。
返回一个动物接口的实例,即实现了的,一般一个接口没有经过实现是不可以去实例化一个对象的。
匿名的内部类
314节分析,内部类的好处
315,异常处理
如上图所示,发生异常是,程序跳出try语句,转到catch中运行。
getMessage().是返回异常消息。
在异常包里
下面为抛出异常,
第四章常用包与数组的复制排序
41节
Stringstr1=newString(“abc”)
StringBuffer的用法
StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。
所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。
在StringBuffer类中存在很多和String类一样的方法,这些方法在功能上和String类中的功能是完全一样的。
但是有一个最显著的区别在于,对于StringBuffer对象的每次修改都会改变对象自身,这点是和String类最大的区别。
另外由于StringBuffer是线程安全的,关于线程的概念后续有专门的章节进行介绍,所以在多线程程序中也可以很方便的进行使用,但是程序的执行效率相对来说就要稍微慢一些。
1、StringBuffer对象的初始化
StringBuffer对象的初始化不像String类的初始化一样,Java提供的有特殊的语法,而通常情况下一般使用构造方法进行初始化。
例如:
StringBuffers=newStringBuffer();
这样初始化出的StringBuffer对象是一个空的对象。
如果需要创建带有内容的StringBuffer对象,则可以使用:
StringBuffers=newStringBuffer(“abc”);
这样初始化出的StringBuffer对象的内容就是字符串”abc”。
需要注意的是,StringBuffer和String属于不同的类型,也不能直接进行强制类型转换,下面的代码都是错误的:
StringBuffers=“abc”;
//赋值类型不匹配
StringBuffers=(StringBuffer)”abc”;
//不存在继承关系,无法进行强转
StringBuffer对象和String对象之间的互转的代码如下:
Strings=“abc”;
StringBuffersb1=newStringBuffer(“123”);
StringBuffersb2=newStringBuffer(s);
//String转换为StringBuffer
Strings1=sb1.toString();
//StringBuffer转换为String
2、StringBuffer的常用方法
StringBuffer类中的方法主要偏重于对于字符串的变化,例如追加、插入和删除等,这个也是StringBuffer和String类的主要区别。
a、append方法
publicStringBufferappend(booleanb)
该方法的作用是追加内容到当前StringBuffer对象的末尾,类似于字符串的连接。
调用该方法以后,StringBuffer对象的内容也发生改变,例如:
StringBuffersb=newStringBuffer(“abc”);
sb.append(true);
则对象sb的值将变成”abctrue”。