博客
关于我
Java 知识点总结篇(2)
阅读量:368 次
发布时间:2019-03-05

本文共 3164 字,大约阅读时间需要 10 分钟。

Java基础入门教程

一维数组

数组是Java中用来存储一系列同一种类型数据的数据结构。Java语言支持一维数组、二维数组等多维数组的定义。

一维数组的定义

一维数组的定义方式有两种:

  • 声明数组并分配空间

    数据类型[] 数组名 = new 数据类型[数组长度];
    例如:

    int[] numbers = new int[5];

    这行代码声明了一个长度为5的整型数组numbers,并为数组分配了内存空间。

  • 声明数组但不分配空间

    数据类型 数组名[];
    例如:

    int numbers[];

    这行代码声明了一个整型数组numbers,但尚未分配内存空间。为了使用这个数组,必须使用new关键字为其分配空间。

  • 一维数组的使用

    在声明了数组后,可以通过下标来访问数组中的元素。数组的下标从0开始。

    例如:

    int[] numbers = new int[] {2, 3, 4, 5, 6};System.out.println(numbers[0]); // 输出2System.out.println(numbers[4]); // 输出6

    遍历一维数组

    可以使用for循环来遍历数组中的元素。for循环的语法如下:

    for(元素类型 元素变量:遍历对象){ 执行的代码; }

    例如,遍历上述numbers数组:

    for(int number : numbers) {    System.out.println("元素:" + number);}

    二维数组

    二维数组可以看作是一个由多个一维数组组成的数组。每个一维数组可以看作是一个行。

    二维数组的定义

    二维数组的定义方式如下:

    数据类型[][] 数组名 = new 数据类型 [行的个数][列的个数];

    例如,创建一个3x3的整型二维数组:

    int[][] matrix = new int[3][3];

    或者,可以先声明行的个数,再为每一行分配列的个数:

    int[][] matrix = new int[3];matrix[0] = new int[3];matrix[1] = new int[3];matrix[2] = new int[3];

    需要注意的是,如果每行的列数不同,则会创建一个不规则的二维数组。

    方法

    在Java中,方法是类中的一种成员,用于实现某种功能。方法的定义方式如下:

    访问修饰符 返回值类型 方法名(参数列表){ 方法体; }

    方法的分类

  • 无参无返回值方法

    例如:

    public void method() { ... }
  • 无参带返回值方法

    例如:

    public int method() { return 0; }
  • 带参无返回值方法

    例如:

    public void method(int parameter) { ... }
  • 带参带返回值方法

    例如:

    public String method(String parameter) { return parameter; }
  • 调用方法

    方法可以通过以下方式调用:

    对象名.方法名()

    例如,调用一个静态方法:

    MyClass.staticMethod();

    方法的重载

    在同一个类中,可以定义多个方法,参数的类型、顺序或数量不同,称为方法的重载。重载的方法不会冲突。

    方法的调用

    • 带参方法:确保实参的数量、类型、顺序与方法的定义一致。
    • 无参方法:直接调用方法名即可。
    • 方法的参数:可以是基本数据类型或引用数据类型。

    类与对象

    类的概念

    类是Java中用来封装数据和行为的基本单位。类可以包含属性(成员变量)和方法(成员方法)。类是对象的类型,描述对象具有的特征和行为。

    类的定义步骤

  • 定义类名

    使用public class ClassName语句定义类。

  • 定义类的属性

    使用privateprotectedpublic修饰符定义成员变量。

  • 定义类的方法

    使用publicprotectedprivate修饰符定义成员方法。

  • 对象的创建与使用

  • 创建对象

    使用类名 对象名 = new 类名();语句创建对象。

  • 访问对象的属性和方法

    使用对象名.属性名对象名.方法名()来访问对象的属性和方法。

  • 成员变量与局部变量

    成员变量

    成员变量是类中定义的变量,用来描述对象的特征。成员变量可以被类的方法使用,也可以被其他类的方法访问。

    局部变量

    局部变量是在方法中定义的临时变量,用来保存方法执行过程中的数据。局部变量的作用域仅限于方法内部。

    局部变量与成员变量的区别

    • 作用域:局部变量只在方法内使用,成员变量在整个类内使用。
    • 初始化:成员变量必须初始化,局部变量可以不初始化。
    • 命名:同一方法中不能有两个局部变量名相同,类成员中可以有多个局部变量名相同。
    • 访问:局部变量优先级高于成员变量。

    构造方法

    构造方法是用于创建和初始化对象的特殊方法。构造方法的定义方式如下:

    类名(构造方法参数列表) { ... }

    构造方法的特点

    • 与类名相同。
    • 返回值类型为void
    • 可以有参数,也可以没有参数。

    构造方法的重载

    可以在同一个类中定义多个构造方法,参数的类型、顺序或数量不同,称为构造方法的重载。

    调用构造方法

    • 对于无参构造方法,可以直接用new Classname();创建对象。
    • 对于有参构造方法,需要提供相应的参数。

    static修饰符

    static修饰符用于修饰类成员,包括变量、方法和代码块。静态成员属于整个类,所有对象共享。

    static成员的特点

    • 静态变量:在类加载时初始化,资源在类卸载时回收。
    • 静态方法:可以直接调用,不能访问非静态成员。
    • 静态初始化块:在类加载时执行,用于初始化静态变量。

    面向对象的特点

    封装

    封装是面向对象的基本特点。通过封装,可以将类的内部信息隐藏起来,只允许通过方法进行操作。

    • 实现步骤
    • 将属性设为private
    • 创建gettersetter方法。
    • gettersetter中增加控制逻辑。

    继承

    Java支持单继承,一个类只能继承自一个直接父类。

    • 继承的优点
      • 子类具有父类的所有属性和方法。
      • 实现代码复用。

    多态

    多态包括引用多态和方法多态。

    • 引用多态:父类引用可以指向子类对象。
    • 方法多态:子类方法可以重写父类方法。

    类型转换

    • 向上转换:隐式转换,不需要显式声明。
    • 向下转换:必须使用instanceof运算符,否则会导致运行时错误。

    包是Java类文件组织的基本单位。每个包都有一个唯一的名字,包名用.分隔。

    包的作用

    • 管理Java文件。
    • 解决类名冲突。

    常见包

    • java.lang:Java语言基础类。
    • java.util:工具类。
    • java.io:输入输出功能类。

    修饰符

    Java提供了五种修饰符:publicprotectedprivatestaticfinal

    这些修饰符用于控制类、成员的访问范围。

    内部类

    内部类是定义在另一个类内部的类。外部类可以创建内部类的对象,并访问内部类的成员。

    内部类的分类

  • 成员内部类:定义在类的成员中。
  • 静态内部类:定义在类体内,不能直接访问外部的非静态成员。
  • 方法内部类:定义在方法中,不能使用static修饰符。
  • 匿名内部类:没有名称,通常用于匿名操作。
  • 内部类的访问

    • 内部类的成员可以直接访问外部类的成员。
    • 使用this关键字可以访问外部类的成员。

    静态内部类

    静态内部类的成员不能直接访问外部类的非静态成员,需通过对象访问。

    方法内部类

    方法内部类只能在方法内部使用,不能使用static修饰符。

    总结

    通过以上内容,可以初步掌握Java的基础知识。Java的面向对象特点、数组的使用、方法的定义与调用、继承与多态、包的概念、修饰符的使用等都是理解Java编程的基础。

    转载地址:http://ctjwz.baihongyu.com/

    你可能感兴趣的文章
    VTK:Medical之MedicalDemo2
    查看>>
    libfacedetection库的配置及基本使用——内涵(cmake编译libfacedetection库)
    查看>>
    VS配置属性表,保存Opencv配置信息
    查看>>
    c语言(基本数据类型)实参与形参传值 用汇编理解
    查看>>
    输入端噪声容限
    查看>>
    vue——this.$route 与 this.$router
    查看>>
    基于单片机可控音乐流水灯控制设计-全套资料
    查看>>
    基于单片机简易信号误差分析设计-全套资料
    查看>>
    基于单片机简易洗衣机系统仿真设计-全套资料
    查看>>
    基于单片机简易脉搏测量仪系统设计-毕设课设资料
    查看>>
    基于单片机八层电梯系统控制设计-毕设课设资料
    查看>>
    并发框架下的“基础类型”——浅析基本类型、ThreadLocal、原子类的线程安全机制
    查看>>
    Android Studio同步Gradle失败的解决办法
    查看>>
    VHDL代码风格
    查看>>
    C++系列7:回调函数
    查看>>
    图像处理系列1.skimage
    查看>>
    好用的拼图小程序,图作妖
    查看>>
    读取二进制存储信息,将低位二进制存储转换为高位存储
    查看>>
    Hibernate操作Blob,将Blob转换为String
    查看>>
    Object Clone
    查看>>