JAVA基础(一)

时间:2022-12-01 06:02:04

1、Java class中的static修饰的成员表面其属于该类所共有,而不是属于某个实例。static修饰的成员不能直接调用非static修饰的成员。

2、Java构造器不能定义返回类型,也不能使用void关键字修饰

3、与成员变量不同,局部变量初形参以为都必须显示初始化

4、使用this调用另一个重载的构造器只能在构造器中使用,而且必须作为构造器执行体的第一条语句

5、子类方法中调用父类被覆盖的实例方法,可使用super作为调用者来调用父类被覆盖的实例方法

6、初始化子类对象时,父类构造器总会在子类构造器之前执行,创建任何java对象,最先执行的总是java.lang.Object对象

7、强制类型转换,基本类型之间的转换只能在数值类型之间进行;引用类型之间的转换只能把一个父类变量转换成子类类型,如果试图把一个父类实例转换子类类型,则必须这个对象实际上是子类实例才行(即编译时类型为父类类型,而运行时类型是子类类型)

8、考虑到进行强制类型转换时可能出现异常,因此进行类型转换之前应先通过instanceof运算符判断是否可以成功转换。

if(objPri instanceof String)
{
String str=(String) objPri;
}

9、系统不允许为final变量重新赋值,子类不允许覆盖父类的final方法,final类不能派生子类。通过使用final关键字,允许java实现不可变类

10、java的字符串类型可通过其相应包装类YYY.parseXXX()方法转化为基本类型,比如将字符串类型转换为int类型可调用Integer.parseInt()方法;基本类型转换为字符串类型,可调用String.valueOf()方法

11、一个类始终只能创建一个实例,则这个类被称为单例类。(1)用private修饰所有的构造函数(2)向外部提供一个static修饰的类方法,用以实例化对象(3)需要定义一个static修饰的类属性用以记录类的实例化情况

12、final关键字修饰的属性,初始化后不能被改变;final关键字修饰的方法不可被重写,但仍能被重载

13、如果外部类属性、内部类属性与内部类里方法的局部变量同名,则可通过使用this、外部类类名.this作为限定来区分

14、java不允许非静态内部类中包含静态的成员

15、枚举类是一种特殊的类,它可以有自己的方法和属性,也可以实现一个或者多个接口,也可以定义自己的构造器

16、垃圾回收机制回收任何对象之前,总会先调用它的finalize方法。对象在堆内存中的三种状态:激活状态,去活状态,死亡状态

17、java语言的引用有四种:强引用(StrongReference)、软引用(SoftReference)、弱引用(WeakReference)、虚引用(PhantomReference)

18、泛型方法

/*泛型方法格式
修饰符 <T,S> 返回类型 方法名 (形参列表){ }*/ //列子
static <T> void testFangXing(T temp1,T temp2){ }

19、java的泛型参数会在编译时被消除,因此无法在运行时知道其参数的类型

20、java会保证每个字符串常量只有一个

21、使用BigDecimal(String val)构造器的结果是可预知的,写入new BigDecimal(“0.1”)将创建一个BigDecimal,它正好等于预期的0.1.使用BigDecimal是为了专注于精度