1. Java 单引号和双引号的区别:单引号是char类型,而双引号是string类型。
2. Java 中print()和println()的区别在于print会在同一行输出;而println()每次输出,下一次输出都会换一行,即在下一行输出。
3. Java引入输入scanner时,需要添加jar包,import java.util.Scanner
4. Java 引入array中sort和toString方法时,需要引入jar包,import java.util.Array
5. Java 变量类型分为基本类型和引用类型,基本类型就是存放数值本身,该类型包括数值型,字符型,布尔型;引用类型就是存在数据的地址,该类型包括类对象,接口,数组。此时注意的数组长度,是a.length,而不是a.length()
6. Java强制类型转换是,int a = (int) b; random在import java.lang.Math.Random 包中
7. Java 成员变量和局部变量,其一作用域不同;其二成员变量默认初始化,局部变量则不能,其三局部变量在同一个方法中不能同名,不同方法中可以重名,其四成员变量和局部变量同名时,局部变量优先于成员变量。
8. 静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。
9. 程序运行时,静态初始化块最先执行,之后是普通的初始化块,最后是构造方法,注意静态初始化块只在类加载时执行一次,所有再次创建对象时,最先执行的是普通的初始化块,其次是构造函数。
10. 内部类:其一内部类提供了更好的封装,将内部类隐藏在外部类中,不允许同一个包中其他类的访问,其二内部类可以直接访问外部类的所有数据,包括私有数据,其三内部类所实现的功能外部类同样可以实现,只是使用内部类更方便。
11. 访问修饰符:其一private是最严格,只允许当前类使用,其二是默认值,允许当前类使用,和同一个包下的类使用;其三是protected ,允许当前类使用,同一个包下的类使用,以及它的子类;其四是public,任何类均可使用。
12. 内部类有四种:成员内部类,静态内部类,方法内部类, 匿名内部类; 其中成员内部类中外部类和内部类有同名的属性,调用外部类的属性是外部类.this.属性名,注意相同情况下,是静态内部类时,调用外部类的属性是外部类.属性名,此时没有this指针。方法内部类,定义在外部类方法里的类,使用范围该方法内使用,并且方法内部类不用使用访问控制符和static修饰。
13. Java 继承是单继承的。继承初始化的顺序是先父类后子类。总结初始化顺序:先是父类属性初始化,后是父类构造方法,其次是子类属性初始化,最后是子类构造方法。
14. Java中object中tostring方法默认返回对象的哈希地址,若需求返回对象的内容,则需要重写该方法。
15. Java中object中equals 方法默认比较对象的地址,当引用对象时,==也是判断两个对象的地址。当然,若比较两个对象的内容而非地址,则需要重写equals方法。
16. 多态:引用多态,方法多态
17. 抽象类:包含抽象方法的类一定是抽象类,抽象类和抽象方法都需要添加关键字abstract,且顺序为abstract class。关键字abstract写在class 或者方法类型的前面。
18. 接口(一些类所遵守的规范):修饰符,(abstract),interface 接口名 [ extends 父类接口1…], 后面加上方法体,方法体中有零个到多个常量定义,零个到多个抽象方法的定义。 修饰符一般为public,abstract 默认有,不用写,
19. 接口中常量,默认是public static final的,系统会自动加上的;接口中的方法也是抽象方法,默认是public static的,系统会自动添加的。
20. Java中的类是单继承的,而接口是多继承的。
21. 接口的使用:修饰符 class 类名 extends 父类 implements 接口1,接口2…. 后面加方法体,先继承父类,再实现接口,顺序不能改变。
22. 接口的使用通常和匿名内部类使用,注意加上分号。
23. 接口中定义方法中不能有方法体,同时访问修饰符不能使用private protected 关键字。