分享

Java学习(每日更新)

 怡红公子0526 2022-12-13 发布于北京

最近在准备春招,所以想把一些基础知识系统性的过一遍。因为没有Java的教材,所以参考菜鸟教程学习Java的基础知识并做整理。

Java主要特性

  1. C++区别,Java语言中不使用指针而是引用,并提供了自动分配和回收内存空间机制。
  2. 面向对象特性:继承、多态、封装。Java只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。
  3. Java语言支持全面动态绑定,但C++语言只对虚函数使用动态绑定。(补充:动态绑定)
  4. Java语言是体系结构中立的,Java程序在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
  5. Java严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java 编译器是用 Java 实现的,Java 的运行环境是用 ANSI C 实现的。
  6. Java语言是解释性的。Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在link阶段被载入到运行环境中。
  7. Java是多线程的。在Java语言中,线程必须由Thread类或其子(孙)类来创建。通常有两种方法创建线程,其一,使用型构为 Thread(Runnable) 的构造子类将一个实现了 Runnable 接口的对象包装成一个线程,其二,从 Thread 类派生出子类并重写 run 方法,使用该子类创建的对象即为线程。值得注意的是 Thread 类已经实现了 Runnable 接口,因此,任何一个线程均有它的 run 方法,而 run 方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为 synchronized)。

Java 基本教程

  1. java文件名要与类名一致。

    a) javac Hello.java (后面接的是文件名)该命令用于将java源文件编译为class字节码文件。运行后如果没出错,会出现一个HelloWorld.class文件。

    b) java Hello(后面跟着的是java文件中的类名) 命令后面不要加 .class  

  2. 一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。对象是类的实体,有状态和行为;类是一个模板,描述一类对象的行为和状态;方法就是行为,一个类可以有很多方法,所有动作都是在方法中完成的;每个对象都有独特的实例变量,对象的状态由实例变量的值确定。

    public  static  void     main (  String[]       args)

  访问修饰符 关键字 返回类型 方法名 String类数组 字符串数组

  3. Java大小写敏感,标识符以字母、下划线或者 $ 开始,首字符之后可以是字母下划线 $ 或者数字。(不能以数字开头,不能是关键字)  

  4. Java修饰符修饰类中的方法和属性,主要有

    a) 访问控制修饰符:default,public,protected,private

    b) 非访问控制修饰符“:final,abstract,static,synchronized

  5. Java变量

    局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。

    类变量(静态变量):成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。

    成员变量(非静态变量):类变量也声明在类中,方法体之外,但必须声明为 static 类型。

  6. Java数组:是储存在堆上的对象,可以保存多个同类型变量。

  7. Java枚举:枚举限制变量只能是预先设定好的值

  class Freshjuice{
      enum freshsize{small, medium, large}
      freshsize size;
  }

  8. 接口: Java 中,接口可理解为对象间相互通信的协议。接口在继承中扮演着很重要的角色。接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类

  9. 解释性语言Java与编译型语言运行区别:

    

  10. 构造方法:每个类都有,如果没有显式定义,Java编译器会为该类提供默认构造方法。构造方法必须与类同名,一个类可以有多个构造方法。

  11. 创建对象:a. 声明 b. 实例化(new)c. 初始化(使用new创建时,会调用构造方法初始化对象)

  12. 访问实例变量和方法:通过访问类中变量;通过 .XX() 访问类中XX方法。

  13. 源文件声明规则:

    a) 一个源文件中只能有一个public类

    b) 一个源文件可以有多个非public类

    c) 源文件的名称和public类的类名保持一致

    d) 如果一个类定义在某个包中,那么package语句应该在源文件的首行

    e) 如果源文件有import语句,应该放在package语句和类定义之间

    f) import语句和package语句对源文件中定义的所有类都有效,在同一源文件中,不能给不同的类不同的包声明

    Java中还有一些特殊的类,如内部类、匿名类

  14. Java包

    a) 包主要用来对类和接口进行分类

    b) import 语句:提供一个合理的路径使得编译器可以找到某个类

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多