Java基础零碎知识点总结(持续补充)

1.重载:同名不同参

   重写:同名同参同返回类型(方法体与父类一致),只存在于继承关系中(多态),需要父类原有方法可用super(),子类函数访问修饰权限不能少于父类。

2.OOP(Object Oriented Programming):面向对象编程

  OOP三大特性:继承、多态、封装

3.Java的跨平台特性:Java编译生成字节码(字节码不能直接运行,机器码才可以),不同平台下编译生成的字节码是一样的,但是JVM会根据当前平台将字节码翻译成的符合当前平台规范的机器码,这样就实现了一次编写,处处运行。

4.修饰权限:

访问权限 子类 其他包
public
protected ×
default × ×
private × × ×

 

 

 

 

 

5.Java数据类型:

①基本类型(值类型):boolean(1位)、char(16位)、byte(8位)、short(16位)、int(32位)、long(64位)、float(单精度、32位)、double(双精度、64位);

②引用类型:

  • 引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。
  • 对象、数组都是引用数据类型。
  • 所有引用类型的默认值都是null。
  • 一个引用变量可以用来引用任何与之兼容的类型。
  • 例子:Site site = new Site("Runoob")。
  • 自动类型转换

 

  低  ------------------------------------>  

  byte,short,char—> int —> long—> float —> double

 

6.基本类型的声明:

long a = 100000L,float f1 = 234.5f
"L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写;

不加L默认是int,int转为long是安全的,所以会自动转,能编译通过,但如果超过int的取值范围还不加L,会直接报错;
浮点数不加F默认是double类型,double转float可能损失精度,因为不会自动转,编译是通不过的。

7.数组的声明:

①特殊初始化,不用new关键字完成,在数组声明的同时完成初始化操作,也被称其为静态初始化。主要原因是因为采用这种初始化的方式,数组的存储空间的分配是由编译器完成的。

int[] a = { 1, 2, 3 };
Integer[] b = { new Integer(1), new Integer(2), 3 };

②先使用new关键字创建数组,然后再分别为数组中的元素赋值,完成初始化操作。(注:如果数组元素类型为基本数据类型,在完成new 操作之后,数组中的元素会自动初始化为空值,可以直接使用,但是数组元素为引用类型,在完成new操作之后,没有给引用类型赋值,就直接使用数组中的元素,会产生运行时异常。)

int[] a = new int[2]; // 需要指定数组的长度
a[0] = 1;
a[1] = 2;

③使用new关键字创建数组,同时为数组中的元素赋值,完成初始化操作。

int[] a = new int[] { 1, 2, 3 }; // 与第二种方法不同,这里new不需要指定数组的长度,数组长度由其后的初始化操作确定
int[] b = new int[] { new Integer(1), new Integer(2), 3 };

8.

 

 

posted @ 2017-11-17 19:37  Touko  阅读(165)  评论(0编辑  收藏  举报