Java基础知识精要:JDK与JRE、static关键字、数据类型解析

需积分: 1 0 下载量 195 浏览量 更新于2024-09-08 收藏 50KB DOCX 举报
"这是一份关于Java基础知识的文档,涵盖了JDK与JRE的区别、static关键字的使用、数据类型、重写与重载的区别、构造函数的作用、Java的单继承特性、接口与抽象类的对比,以及Java线程中的进程与线程概念和线程创建方式等内容。" Java基础知识是学习Java编程的基础,这份文档提供了非常实用的信息。 1. JDK与JRE的区别: JDK(Java Development Kit)是Java开发工具包,包含了JRE(Java Runtime Environment)以及用于开发和调试Java应用程序的工具,如编译器(javac)、Javadoc、JAR打包工具等。JRE则是Java运行时环境,主要包括JVM(Java虚拟机)和Java系统类库,是运行Java程序所必需的。 2. static关键字: static关键字用于声明静态成员,包括静态变量和静态方法。静态成员属于类,而非类的实例,可以通过类名直接访问,无需创建对象。由于static方法在编译时即确定调用,因此它们不能被重写,因为重写是基于运行时多态性的。 3. 访问非static变量: 在static环境中,不能直接访问非static变量,因为非static变量是属于对象的,而static环境不依赖于对象存在,没有隐式的this指针。 4. Java支持的数据类型: Java有八种基本数据类型,包括byte、short、int、long、float、double、boolean和char,它们有不同的存储大小和用途。 5. 重写和重载的区别: 重载发生在同一个类中,通过方法名相同但参数列表不同来实现。而重写发生在父类与子类之间,方法名、参数列表都相同,但子类提供了不同的实现。 6. 构造函数: 构造函数是用于初始化新创建对象的特殊方法,当使用new关键字创建对象时,会自动调用对应的构造函数。 7. Java的继承特性: Java不支持多继承,一个类只能有一个父类,但可以通过实现多个接口来达到类似的效果。 8. 接口与抽象类的区别: - 接口中所有方法默认都是抽象的,而抽象类可以包含抽象和非抽象方法。 - 类可以实现多个接口,但只能继承一个抽象类。 - 实现接口必须实现所有接口方法,否则类必须声明为抽象的;而继承抽象类可以不实现所有抽象方法,但类必须声明为抽象的。 - 接口变量默认为final,而抽象类可以有非final变量。 - 接口成员默认public,抽象类成员可有private、protected、public。 - 两者都不能直接实例化。 9. 进程与线程: 进程是操作系统分配资源的基本单位,是运行中的应用程序。线程是进程内的执行单元,一个进程可以有多个并发执行的线程。 10. 创建线程的三种方式: - 继承Thread类:自定义类继承Thread类并重写run()方法,然后创建该类的实例并调用start()方法启动线程。 - 实现Runnable接口:创建一个实现了Runnable接口的类,实现run()方法,然后将其实例传递给Thread类的构造函数创建线程。 - 实现Callable接口:创建一个实现了Callable接口的类,实现call()方法,通过FutureTask包装并使用ExecutorService提交到线程池执行。 这份文档对初学者来说是一份很好的学习资料,涵盖了Java基础的各个方面,对于理解Java语言的运作机制和编写代码有着重要的指导作用。