疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java基础知识


 

   

  Java源文件的扩展名是.java,编译之后生成.class的文件.所有的类都有一个共同的继承祖先Object类

  一个.java文件中只能有一个public类,一个public类只能定义在以它的类名命名的文件中

  Implement关键字用来实现接口,类可以实现多个接口,继承使用extends 关键字

  package(包)为了更好的组织java程序,包为java程序提供了一个命名空间,一个java类的完整路径由它的包和类名共同组成

  Java类或者没有public关键字表示该类在它所在的包中可见,这是java中的默认访问权限

  包的调用,把编译后的class文件放在相应路径下,然后用import语句引用

  super关键字来指代基类对象,类内可以用super访问基类成员,如果子类有同名函数,则在类外调用时,调用的是子类成员

  final关键字的基本含义是: 这个数据/方法/类不能被改变了。

  final基本类型的数据: 定值 (constant value),只能赋值一次,不能再被修改。

  final方法: 该方法不能被覆盖。private的方法默认为final的方法。

  final类: 该类不能被继承。

  Java中类之间是单继承,但可以继承多个接口

  Java中abstract,static,string关键字与c#中作用相同,函数参数传递规则也一样

  Java中引用起到指针的作用,存在栈但不能修改指针的值,如像c语言那样指针++操作不允许,如Human man = new Human(),man是引用,指向堆中创建的Human对象

  垃圾回收:没有任何引用指向该对象时清空对象内存被回收

  Java中的异常类都继承自Trowable类

  Class类是类的抽象,无论我们对引用进行怎样的类型转换,对象本身所对应的Class对象都是同一个,像C#中的元数据,反射的作用

  synchronized是方法的修饰符。在Java中,同一对象的synchronized方法只能同时被一个线程调用。其他线程必须等待该线程调用结束,(余下的线程之一)才能运行,synchronized还有种用法与C# lock一样

  内部类规则:

  内部类可以直接访问外部类成员,包括私有成员,写法为:外部类名.this.外部成员名

  外部类访问内部类,必须建立内部类对象 ,建立内部类对象必须先建立外部类对象

  当内部类被静态修饰后,只能访问外部类中的静态成员

  Java泛型中的? 表示类型不确定 ,Listlist

  运行时异常就是系统运行时报出的异常,是由系统内部调节机制报出的,如系统内存溢出等。非运行时异常则是由于程序编写不当造成的异常,最常见的空指针异常,数组下标超出异常等。

  throws抛出的异常如果异常是继承RuntimeException,则不需要强制你写try catch语句来保证抛出的异常得到处理。如果继承的是Exception,则一定需要try catch语句保证异常得到处理,常见的运行时异常有:

  ClassCastException(类转换异常)

  IndexOutOfBoundsException(数组越界)

  NullPointerException(空指针)

  ArrayStoreException(数据存储异常,操作数组时类型不一致)

  import static静态导入是JDK1.5中的新特性。一般我们导入一个类都用 import com.....ClassName;而静态导入是这样:import static com.....ClassName.*;这里的多了个static,还有就是类名ClassName后面多了个 .* ,意思是导入这个类里的静态方法。当然,也可以只导入某个静态方法,只要把 .* 换成静态方法名就行了。然后在这个类中,就可以直接用方法名调用静态方法,而不必用ClassName.方法名 的方式来调用。