总结:已经学了一个学期的Java,虽然在课堂上面还是很认真的听讲,但在课后,基本上没有复习与巩固,导致感觉没有C语言学的好,最后的面试结果也不是很令人满意。在以后的学习中,要改变学习方式。做什么事都要注意细节,不单单是将代码实现成功就算可以了,也要考虑全面。写题目也感觉不知到从哪儿下手,感觉怎么都不对。希望下学期能有一个改变,不在颓废。
这学期所学部分重要知识点:
数据类型的转换:
各种数据类型的数据可以放在一起进行混合运算,运算时,不同类型的数据先转换为相同类型的数据再进行运算。
数据类型之间的转换分为自动类型转换和强制类型转换。
自动类型转换:
从低级到高级发生自动类型转换。
强制类型转换:
由高级向低级数据类型转换时,需要进行强制类型转换,在变量前面,把需要转换的“目标类型”放到圆括号()内。
this关键字的作用:
1、表示类中的属性
2、可以使用this调用本类的构造方法
3、this表示当前对象
final关键字:
1、可以使用final关键字声明类、属性、方法。
2、使用final声明的类不能有子类;
3、使用final声明的方法不能被子类所覆写;
4、使用final声明的变量即成为常量,常量不可以修改。
5、使用static final关键字联合声明的变量称为全局常量
抽象类和接口区别:
抽象类:用abstract修饰,抽象类不能创建实例对象。抽象方法必须在子类中实现,
不能有抽象构造方法或者抽象静态方法。
接口: 抽象类的一种特例,接口中的方法必须是抽象的。
两者的区别:
1、抽象类可以有构造方法,接口没有构造方法
2、抽象类可以有普通成员变量,接口没有普通成员变量。
3、 抽象类可以有非抽象的普通方法,接口中的方法必须是抽象的。
4、 抽象类中的抽象方法访问类型可以是public,protected,接口中抽象方法必须是public类型的。
5、抽象类可以包含静态方法,接口中不能包含静态方法。
6、一个类可以实现多个接口,但是只能继承一个抽象类。
7、接口中基本数据类型的数据成员,都默认为static和final,抽象类则不是(friendly)。
多线程:
在Java中要想实现多线程代码有两种手段:
1、继承Thread类
2、实现Runnable接口
继承Thread类:
Thread类是在java.lang包中定义的,一个类只要继承了Thread类,此类就称为多线程操作类。在Thread子类之中,必须明确的覆写Thread类中的run()方法,此方法为线程的主体。
多线程的定义语法:
class 类名称 extends Thread{ // 继承Thread类
属性… ; // 类中定义属性
方法… ; // 类中定义方法
// 覆写Thread类中的run()方法,此方法是线程的主体
public void run(){
线程主体;
}
}
如果要想正确的启动线程,是不能直接调用run()方法的,应该调用从Thread类中继承而来的start()方法,才可以启动线程。
mt1.start(); // 启动多线程
mt2.start(); // 启动多线程
实现Runnable接口:
在Java中也可以通过实现Runnable接口的方式实现多线程,Runnable接口中只定义了一个抽象方法:
public void run() ;
通过Runnable接口实现多线程:
class 类名称 implements Runnable{ // 实现Runnable接口
属性… ; // 类中定义属性
方法… ; // 类中定义方法
public void run(){ // 覆写Runnable接口里的run()方法 线程主体 ;
}
}