------- android培训、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一样
- 内部类规则:
- Java泛型中的? 表示类型不确定 ,List<?>list
- 运行时异常就是系统运行时报出的异常,是由系统内部调节机制报出的,如系统内存溢出等。非运行时异常则是由于程序编写不当造成的异常,最常见的空指针异常,数组下标超出异常等。
- 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.方法名 的方式来调用。