java基础知识

Posted JAHC

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java基础知识相关的知识,希望对你有一定的参考价值。

目录

1.基本概念

2.面向对象

2.1类

2.2包

2.3对象

 

一、基本概念

  1、java主要目标是:面向对象、简单化、解析型与平台无关、多线程、安全高效、动态性。

    java的编译模式:编译解析型

  2、字节:是计算机最小的存储单位。1byte = 8 bit  (1字节 = 8 位)

 

  3、JVM(java Vritual Machine):

  是用软件模拟实现的一种虚拟机。用于执行bytecode字节码。

  JVM运行的代码存储在.class文件中,每一个文件包含最多一个public类的代码。JVM用字节代码程序与各操作系统和硬软件分开,保证java程序独立于平台,而JVM本身可以用软件或硬件实现。

  每一个java解析器都有一个JVM的具体实现下面三步:

  (1)加载代码:由类加载器完成

  (2)校验代码:由字节码校验器完成

  (3)执行代码:由解析器完成

 

  java程序下载和执行的步骤:

    

  (1)源程序经编译器得到字节代码

  (2)浏览器与服务器连接,要求下载字节码文件

  (3)服务器将字节代码文件下载到客户端

  (4)客户机上的jvm执行

  (5)在浏览器上显示并交互

 

  4、垃圾回收机制:

  所有的代码都封装在类中,需要时创建类的实例(对象)来处理,这种实例存储在内存堆中。java有一个系统级的线程,对内存的使用进行自动的跟踪。能在jvm空闲的时候,对不用的内存进行自动回收。它消除了释放内存的必要,也避免了内存的泄漏。将编程者从繁忙的内存管理中脱离出来

 

  5、JRE(java Runtime Environment):

  是一个java程序运行环境。包含了java应用程序接口(API)和JVM。如图:

  

 

  6、JDK(java Development Kit):

  程序开发工具包,java的三种平台:JavaSE、JavaME、JavaEE都立足于核心的开发工具包JDK的各个版本。如果需要开发程序,一定需要安装JDK,如果自是运行程序,安装JRE就已经足够了。

  

  各种概念的关系图:

   

 返回顶部

 

二、面向对象编程

  面向对象的一些基本概念:抽象、封装、继承、多态。

  1、抽象:是人类处理复杂事务的提升。面向对象的思路和传统的思路不同,它强调按照与人类思维方法中的抽象、分类、继承、组合、封装等原则去模拟现实世界的物理存在。抽象导致面向对象编程的方法与数据封装,形成不同层次上的构件,使软件构件化,实现了不同层次上的重用。

 

  2、封装:封装是面向对象技术中隐藏信息的一种机制。目的是将对象的具体实现细节隐藏起来,只通过一个公用接口和消息与其他对象通信。让使用者和设计者分开。“类”是程序封装的最小单位。

 

  3、继承:描述两个类之间的关系。允许一个新类(子类)包含另一个已有类(父类)的状态和行为。子类的派生过程称为继承。继承是抽象分层管理的实现机制。Java中除了Object类外,其他类都有父类。

  分为单继承、多继承。继承只支持单继承,多重继承需要通过接口实现。

 

  4、多态:允许一个类中有多个同名方法,但方法的具体实现却不同的机制。同一个程序中同名的方法可用不同代码实现的特性称为多态性。

 返回顶部

 

1、类

  (1)类

  一个类在使用前,一定需要声明。

  基本类声明的两种方法:

  [修饰符] class 类名 {类体}

  [修饰符] class 类名 [extends 父类名] [implements 接口名列表] {类体}  

 

  类修饰符可以有多个,说明类的权限:

  • public:公共类。可被其他类访问或引用其成员变量和成员方法。java语言规定包含main()方法的类必须是公共类。
  • abstract:抽象类。指不能实例化的类。具体操作需要在子类中实现。
  • final:终结类。指明该类没有子类。
  • 没有修饰符:则具有默认修饰符。该类只允许该类相同包中的类可以访问和调用,其他包中的类不能访问和使用。

 

  (2)成员变量

  类中声明该类的所有的变量,都叫成员变量。

  声明方式:[变量修饰符] 类型 变量名 [=初值] [,变量名 [=初值]],......;

  注意:成员变量的作用域是整个类。而局部变量是作用于方法内部。一旦从方法中返回,局部变量就会消失。成员变量只存在于类中哦,不能出现在方法中。

 

  变量的修饰符,说明使用的权限:

  • public:允许所有类访问该变量。
  • protected:仅允许相同包的类和该类的子类来访问。
  • private:仅允许本类访问的内部变量。
  • static:表示该变量是类变量,是该类所有对象共享的变量。独立于该类所有对象,可以直接进行访问。
  • 没有static修饰:是实例变量(对象变量),只能通过对象来访问它。

 

  (3)成员方法

  [方法修饰符] 返回值类型 方法名(参数表) {方法体}

 

  方法修饰符:

  • public、protected、private:和变量修饰符意义一样。
  • static:类方法。可以直接进行访问和调用
  • 没有static修饰:实例方法。
  • abstract:抽象方法。没有定义方法体。static方法和final方法都不允许是abstract方法。
  • native:表示是其他语言代码的方法,用它与java代码集成。
  • synchronize:表示多个并发线程对共享资源访问的控制。
  • final:表示终结方法,不允许子类的覆盖。

  注意:void的方法是没有返回值的。

 

  调用的时候:

  • 任何情况都可以用实例变量名.方法名来调用。
  • 在类方法中,可以直接调用本身的类方法,但不能直接调用实例方法。
  • 在实例方法中,可直接调用本身的类方法或实力方法。
  • 在实例方法中可以使用this.方法名或者super.方法名调用。

 返回顶部

 

2、包

  是java语言对一组相关的类、接口和子包进行封装的机制。声明一个包需要使用package语句。

  引入格式:package 包的全名。

  使用包中的类的导入格式:import 包全名.类名 | *;

 

  java中的基本类库包:

  (1)java核心包

  • java.lang包:封装所有应用的基本类。如:Object、Class、String、System等。而Object是所有类的根,包含属性和方法被所有类继承
  • java.awt包:封装抽象窗口工具包,提供构建和管理用户图形界面功能。
  • java.applet包:为Applet提供执行所需的所有类。
  • java.io包:提供程序输入/输出文件操作类。
  • java.net包:提供程序执行网络通信应用及URL的处理类。
  • java.rmi包:提供程序远程方法调用所需的类。
  • java.math包:提供常用的整数算术以及十进制算术的基本方法类。
  • java.util包:提供实用程序类、集合类。
  • java.sql包:提供访问和处理标准数据源数据的类。
  • java.security包:提供网络安全操作类。
  • java.text包:提供所有处理文本、日期、数字和非自然语言的消息操作的类。
  • java.bean包:提供开发编写java bean所需的类。

 

  (2)javax扩展包

  • javax.naming包:提供命名服务需要的类和接口。
  • javax.swing包:提供构建和管理应用程序图形界面的轻量级的构件。
  • javax.rmi包:提供远程方法调用的应用程序接口。
  • javax.transaction包:提供事务管理所需要的基本类。
  • javax.sound包:提供多媒体声音需求的MIDI输入/输出以及合成操作基本类。
  • javax.accessibility包:提供用户界面构件之间相互访问机制的基本类。

  注意:java.lang包是编译器自动导入的。在编译时,不需要手动导入该包。使用其他包中的类必须要import导入。

 返回顶部

 

3、对象

  对象:是一组相关变量和相关方法的封装体,通过对类的实例化而创建。  

  对象的主要属性:状态、行为。

  状态(静态属性):用变量表示。行为(动态属性):用方法表示。

  类是对象的抽象,对象是类的实例。对象和实例是同义词。

 

  在创建对象时内存种存储的是该对象的引用值的堆地址和有关信息。并非内存直接地址,也不是引用本身。

  用new关键字实例化一个对象后,才给对象分配内存,并调用对象的构造方法,返回该对象的堆地址和相关信息。

  给变量赋值null不同于没有初始化,赋值null是可以给别的变量赋值的。

 

  1、对象的初始化--构造函数

  构造函数式用于初始化对象的。要求与类名相同,无返回值。一个类可以有多个构造函数,但是一定要具有不同的参数。

  格式:[类修饰符] 类名 ([形参列表]) [throws 子句] {方法体}

 

  构造函数的特点:

  • 名称需要和类名相同,
  • 给对象赋初值,所以没有返回值,但不能用void来声明。
  • 不能被程序直接调用,只能通过new来调用
  • 如果没有定义构造函数,java会默认赠送一个无参的构造函数。
  • 可以重写,实现不同的初始化方法。

 

  2、对象的使用

  使用的几种情况:

  (1)访问对象的变量和调用方法。通过对象名.变量/方法

  (2)对象作为其他类的成员变量。注意:在使用前必须要给该对象分配内存。

  (3)对象作为方法的参数和返回值。

 

4、java源程序结构

  包含源代码(.java文件)、由编译器生成的类(.class文件)、由归档工具jar生成(.jar文件)、对象状态序列化(.ser文件)

 返回顶部

 

以上是关于java基础知识的主要内容,如果未能解决你的问题,请参考以下文章

Java基础知识总结

java基础知识点

java基础知识文章汇总

初识Java Java基础知识

学习Spring必学的Java基础知识----事务基础知识

零基础学Java—Java基础知识