下周一Java期末考试,希望有个好成绩~(๑・ω・)੭
学了一学期,感觉Java相比c++有更多的封装好的功能,然后就是更加安全了,因为没有指针的运用,因此较少出现编译通过但是运行出现堆栈溢出之类的bug。
按照课本将学的内容排个序,分别是类和对象,高级特性,实用类和接口,异常处理,图形界面,输入输出,多线程,网络编程,JDBC技术
类和对象
Java的类和C++的大体类似,C++的函数在java里叫方法。在C++中实例化对象只需要声明就行,但在Java中还必须为对象分配内存空间才可以使用。在Java中继承需要用到关键字extends,并且不能有多个超类(父类)。finalize()释放系统资源,super()调用超类的构造方法。Java的类也具有多态性。
#include<iostream>
using namespace std;
class exampleClass public: superClass{/*......*/}
exampleClass a;//此时在c++中可以直接对a进行使用了
package sample;
class exampleClass extends superClass{/*......*/}
exampleClass b;
b=new exampleClass(/*参数*/);//Java必须在对象有具体内存空间才能用
高级特性
1.Java通过static关键字修饰的变量或方法为静态变量/方法,静态的变量和方法只有一个实例,它被所有实例对象共享。类中的静态方法可以不实例化对象而直接通过theClass.fuction()使用。
2.使用关键字final使类不允许被继承,final修饰的方法不允许被重写,一个用final修饰的变量不允许更改(即定义了一个常量)
3.使用关键字abstract声明抽象类,抽象类不能实例化,因此抽象类一般用作其他类的超类,使用abstract修饰的方法被继承时必须重写,若继承抽象类的子类未覆盖超类所有抽象方法,这个子类仍然被定义为抽象类。
4.使用interface定义接口,接口由常量和抽象方法组成,这些方法和常量只需要声明,不需要实现,一个类可以实现多个接口,通过这种方法实现多重继承。
5.Java具有内部类,内部类可以访问外部类的任何成员,内部类可以在类内定义,也可以作为成员实现。
6. 枚举是一个特殊类,一般用于代表一组常用常量。枚举类有一些方法,可以比较简单的实现一些比如遍历之类的操作。
7.注解通过@xxx的形式使用,@Override,@Deprecated@SuppressWarings,@SafeVarargs等。
package sample;
class exampleClass {
public static int add(int x,int y){ //静态方法的创建
return x+y;
}
}
final class Example2{ //final的创建
final int a=20;
public final void method(){
return a;
}
}
abstract class Example3{ //abstract的创建
void method2();
}
interface Jiekou{ //接口的创建
void method3();
}
class jicheng implements Jiekou{
void method3(){
System.out.println("Hello!");
}
}
class exampleClass4 {
class Inner{ //内部类的创建
int a;
}
}
enum Day{ //枚举类的创建
MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY
}
异常处理
throw关键字为抛出异常
if(x<y)
throw new ArithmeticException("x<y");
throws是方法可能抛出异常的声明
public static void function() throws NumberFormatException{
String a;
int b;
}