-
面向对象的特征:抽象、封装、继承、多态。
-
修饰符的 可见范围:private(当前类)-> default(同一个包内)-> protected(同一个包内所有类 + 不同包子类)-> public(整个项目);
-
基本数据类型:byte、short、int、long、float、double、char、boolean;其他皆为引用类型。
-
保留字(Java中未用到):goto、const;
-
内存的栈(stack)、堆(heap)、方法区(method area)
-
Math.round(11.5),四舍五入:加0.5后向下取整;
-
数组没有length()方法,但有length属性;String有length()方法;
-
Java语言的 方法调用支持参数的值传递;
-
String是只读字符串,其引用的字符串内容不能被修改;StringBuffer/StringBuilder表示的字符串对象可以直接修改;StringBuilder内各个方面未使用synchronized修饰,因此其效率较StringBuffer更高;
-
hashcode,不同的对象可能会生成相同的hashcode;但如果两个对象的hashcode不等,则必定是两个不同的对象。于是:调用equals方法为true的对象一定有相同的hashcode,为false的情况hashcode关系不能确定。
-
反射,JVM在运行时动态的加载类或者调用方法、访问属性。
-
反射的一个重要用途:开发通用框架。例如,在Spring中,很多内容是配置化的,为了保证框架的通用性,可能需要根据配置文件加载不同的对象或者类,调用不同的方法,这时就必须用到反射。运行时动态加载需要的对象。
-
-
重写(Override),存在于 继承体系中,指子类实现了一个与父类在方法声明上完全相同的方法。
-
子类方法的访问权限必须大于父类方法;
-
子类方法的返回类型必须是父类方法返回类型或其子类;
-
子类抛出的异常必须是父类抛出的异常或为其子类型。
-
-
重载(Overload),存在于 同一个类中,一个方法与已经存在的方法名称上相同,但是参数类型、个数、顺序,至少有一个不同。注意:仅仅返回值(类型)不同,其他都相同不算是重载,测试显示会出现编译错误。
-
JVM-JRE-JDK:
-
JVM,Java虚拟机,只能识别.class文件。能够将class文件的字节码进行识别,并调用操作系统向上的API完成动作;
-
JRE,Java运行时环境,包括 JVM的标准实现及Java的一些基本类库;
-
JDK,Java开发工具包,集成了 JRE和一些工具,包括:java.exe,javac.exe,jar.exe。
-
Java 常用知识点整理
于 2022-04-10 22:25:10 首次发布