JAVA没有信息卷,只能从老师上课讲的入手,梳理可能会考到的知识点,以不变应万变。
1、Java三个技术平台:JavaSE、JavaEE、JavaME
2、Java语言的特点:简单性、面向对象、安全性、跨平台性、支持多线程、分布性
3、1995年,Java语言诞生(据说会考)
4、JDK:
一套Java开发环境,简称JDK(Java Development Kit)。JDK包括Java编译器、Java运行工具、Java文档生成工具、Java打包工具等
JDK目录:
bin目录:该目录用于存放一些可执行程序,如javac.exe(Java编译器)、java.exe(Java运行工具)、jar.exe(打包工具)和javadoc.exe(文档生成工具)等。其中最重要的就是javac.exe和java.exe。
db目录:db目录是一个小型的数据库。
jre目录:jre是Java Runtime Environment的缩写,意为Java程序运行时环境。
include目录:由于JDK是使用C和C++开发的,因此在启动时需要引入一些C语言的头文件,该目录就是用于存放这些头文件的
lib目录:lib是library的缩写,意为Java类库或库文件,是开发工具使用的归档包文件。
src.zip文件与javafx-src.zip文件:这两个文件中放置的是JDK核心类的源代码和JavaFX源代码,通过这两个文件可以查看Java基础类的源代码。
5、编译java源文件:进入安装JDK的bin目录之后,输入“javac HelloWorld.java”命令,编译HelloWorld.java源文件,注意这个.java不可省略;javac命令执行完毕后,会在bin目录下生成HelloWorld.class字节码文件。在命令行窗口输入“java HelloWorld”命令,运行编译好的字节码文件,这里的.java是可以省略的
6、java中关键字都小写
7、byte,short,char在混合运算中不会互相转换,三者在运算时首先转换为int类型;
容量小的类型自动转换为容量大的类型;
8、面向对象三大特性:封装、继承、多态
9、所有的Java程序都是基于类的
10、Java提供了4种访问控制权限,分别是private、default、protected和public。这4种访问控制权限按级别由小到大依次排列,如下图:
(1)private(当前类访问级别):private属于私有访问权限,用于修饰类的属性和方法。类的成员一旦使用了private关键字修饰,则该成员只能在本类中进行访问。
(2)default:如果一个类中的属性或方法没有任何的访问权限声明,则该属性或方法就是默认的访问权限,默认的访问权限可以被本包中的其它类访问,但是不能被其他包的类访问。
(3)protected:属于受保护的访问权限。一个类中的成员使用了protected访问权限,则只能被本包及不同包的子类访问。
(4)public:public属于公共访问权限。如果一个类中的成员使用了public访问权限,则该成员可以在所有类中被访问,不管是否在同一包中
11、this关键字区分局部变量和成员变量
12、static的用法:
static:静态的,用于修饰成员(成员变量,成员方法);
1.被static所修饰的变量或者方法会储存在数据共享区;
2.被static修饰后的成员变量只有一份!
3.当成员被static修饰之后,就多了一种访问方式,除了可以被对象调用之外,还可以直接
被类名调用,(类名.静态成员);
class Examples{ String name; //当属于同一个类的所有对象出现共享数据时,就需要将存储这个共享数据的成员用static修饰; static String country; //当功能内部没有访问到非静态的成员时(对象特有的数据)那么该功能可以定义成静态的; static void print(){ System.out.println("你好"+country); } //当功能内部有访问到非静态的成员时(对象特有的数据)那么该功能就不可以定义成静态的; void print1(){ System.out.println("你好"+name); } } public class Test{ public static void main(String[] args){ Examples One = new Examples(); Examples Tow = new Examples(); Examples.country = "中国"; One.name = "小明"; //One.country = "中国"; Tow .name = "小花"; //Tow .country = "中国"; //类名.静态方法名 Examples.print(); One.print1(); } }
直接对一个类的static静态成员进行赋值,这个类的对象都可共享这个静态成员;如果把方法也定义成静态的,那么这个静态方法中不能包含非静态成员
13、子类重写父类方法时,不能使用比父类中被重写的方法更严格的访问权限
14、通过super()调用父类构造方法的代码必须位于子类构造方法的第一行,并且只能出现一次。
15、final关键字:
final的英文意思是“最终”。在Java中,可以使用final关键字声明类、属性、方法,在声明时需要注意以下几点:
(1)使用final修饰的类不能有子类。
(2)使用final修饰的方法不能被子类重写。
(3)使用final修饰的变量(成员变量和局部变量)是常量,常量不可修改。
16、全局变量声明:public static final
17、抽象方法:abstract void 方法名称(参数);
abstract class 抽象类名称{
访问权限 返回值类型 方法名称(参数){
return [返回值];
}
访问权限 abstract 返回值类型 抽象方法名称(参数); //抽象方法,无方法体
}
(1)包含一个以上抽象方法的类必须是抽象类。
(2)抽象类和抽象方法都要使用abstract关键字声明。
(3)抽象方法只需声明而不需要实现。
(4)如果一个类继承了抽象类,那么该子类必须实现抽象类中的全部抽象方法。
注意:使用abstract关键字修饰的抽象方法不能使用private修饰,因为抽象方法必须被子类实现,如果使用了private声明,则子类无法实现该方法。
18、接口:
一个接口可以有多个父接口
接口中的方法访问权限永远是public
接口中的静态方法可以直接使用接口名调用
19、instanceof
对象 instanceof 类(或接口)
20、Object类,又称超类,没有extends,默认继承Object类
21、内部类:一个类的内部还有另一个类
内部类声明方法:外部类名.内部类名 变量名 = new 外部类名().new 内部类名();
22、异常捕获:
try{
//程序代码块
}catch(ExceptionType(Exception类及其子类) e){
//对ExceptionType的处理
}
23、字符串类:
Java中定义了三个封装字符串的类,分别是String、StringBuffer和StringBuilder,它们位于java.lang包中,并提供了一系列操作字符串的方法,这些方法不需要导包就可以直接使用;
Java提供了一个StringBuffer类(也称字符串缓冲区)。StringBuffer类和String类最大的区别在于它的内容和长度都是可以改变的。StringBuffer类似一个字符容器,当在其中添加或删除字符时,并不会产生新的StringBuffer对象;
StringBuffer不能被同步访问,而StringBuilder可以,线程安全
24、System类:
System.arraycopy(fromArray, 2, toArray, 3, 4); // 拷贝数组元素
long startTime = System.currentTimeMillis();// 时间
Properties properties = System.getProperties();// 获取当前系统属性
System.gc();// 调用方法进行垃圾回收
25、Runtime类:
Runtime run = Runtime.getRuntime();
在程序中通常会通过该类的实例对象来获取当前虚拟机的相关信息。
作用:
1.获取当前虚拟机信息
2.操作系统进程
26、Math类:
主要是random:
Random r1 = new Random(); // 创建Random实例对象
5 System.out.println("产生float类型随机数: " + r1.nextFloat());
6 System.out.println("产生double类型的随机数:" + r1.nextDouble());
7 System.out.println("产生int类型的随机数:" + r1.nextInt());
8 System.out.println("产生0~100之间int类型的随机数:" +
9 r1.nextInt(100));
27、日期时间类:
麻烦,不看课件了,太多了,直接干题。