Idealize 记录互联网开发历程 2026-03-28T20:40:00+08:00 Typecho https://lizhiqi.site/index.php/feed/atom/ <![CDATA[面向对象高级(继承、多态、抽象类、接口、内部类)]]> https://lizhiqi.site/index.php/archives/83/ 2026-03-28T20:40:00+08:00 2026-03-28T20:40:00+08:00 ideal http://101.43.89.244 继承

继承是类与类之间的一种父子关系,java中提供关键字extends,用于建立类与类之间的关系

public class Student **extends** Person{}

如何设计继承结构?
当类和类之间,存在相同(共性)的内容,并满足子类是父类中的一种,就可以考虑使用继承,来优化代码。

继承的特点:
java只支持单继承,不支持多继承,但支持多层继承。

直接父类 和 间接父类
顶级父类Object

继承中的成员特点 --- 成员变量
书写规则:把多个子类中相同的属性抽取到父类当中
调用规则:遵守就近原则

]]>
<![CDATA[面向对象进阶]]> https://lizhiqi.site/index.php/archives/68/ 2026-03-28T15:58:00+08:00 2026-03-28T15:58:00+08:00 ideal http://101.43.89.244 static 关键字修饰成员变量

特点:叫做静态变量,被该类所有对象共享
共享: 赋值只要赋值一次。
只要有一个对象修改了静态变量,其他对象再次访问的时候就是修改之后的结果。

调用方式:
方式一:类名调用 (推荐) class.
方式二:对象名调用

截屏2026-03-28 16.07.08.png
静态变量是随着类的加载而加载
截屏2026-03-28 16.08.11.png

static 修饰成员方法

static修饰的方法叫做静态方法
该方法多在测试类和工具类中
javabean类中很少使用

调用方式:
方式一:类名调用 (推荐) class.
方式二:对象名调用

工具类

不是描述一类事物的,也没有main方法,而是帮我们做一些事情的类
书写方法
截屏2026-03-28 16.12.18.png

静态的注意事项

截屏2026-03-28 17.47.09.png
截屏2026-03-28 17.53.36.png

main的重新认识

截屏2026-03-28 18.04.45.png

final关键字

截屏2026-03-28 19.45.43.png

枚举

枚举类的对象是有限个的。
public enum 枚举类名{
类型
行为
}

valus():表示获取本类所有的枚举项
valueof():表示获取一个指定的枚举项
截屏2026-03-28 20.18.51.png

]]>
<![CDATA[API 、 字符串 、 数组]]> https://lizhiqi.site/index.php/archives/64/ 2026-03-28T14:43:00+08:00 2026-03-28T14:43:00+08:00 ideal http://101.43.89.244 API: 应用程序编程接口

简单理解:API就是别人已经写好的东西,我们不需要自己编写,直接使用即可。

java API 指的就是JDK中提供的各种功能的java类

Scanner 键盘录入
Random 获取随机数

字符串 String

String是java定义好的类,定义在java.lang包中(核心包)
字符串的内容是不会发生改变的,它的对象在创建后不能被更改
截屏2026-03-28 13.28.34.png
截屏2026-03-28 13.33.56.png
截屏2026-03-28 13.37.41.png

StringBuilder
可以看成一个容器,创建之后里面的内容是可变的
截屏2026-03-28 14.09.30.png
append() reverse() length() toString()
截屏2026-03-28 14.10.03.png

StingJoiner
StringJoiner("","","") 间隔符号,前符号,后符号
截屏2026-03-28 14.45.58.png

集合 ArrayList (java.util)

集合存储数据的特点:

  1. 自动扩容
    截屏2026-03-28 15.00.04.png
    add, remove, set , get , size()
    增删改插
    截屏2026-03-28 15.06.31.png
]]>
<![CDATA[面向对象编程]]> https://lizhiqi.site/index.php/archives/42/ 2026-03-27T19:29:00+08:00 2026-03-27T19:29:00+08:00 ideal http://101.43.89.244 面向对象编程:拿东西过来做对应的事情

面向对象的重点学习什么?

  1. 学习获取已有对象并使用
  2. 学习如何自己设计对象并使用 -> 面向对象的语法

目录:
一、设计对象并使用

  1. 类和对象
    定义类
    截屏2026-03-27 18.03.38.png
  2. 类的几个补充注意事项
    截屏2026-03-27 18.11.30.png
    截屏2026-03-27 18.14.06.png
    截屏2026-03-27 18.17.07.png
    截屏2026-03-27 18.20.16.png

二、封装 (三大特性之一)

对象代表什么,就得封装对应的数据,并提供数据对应的行为。
案例:人关门

截屏2026-03-27 19.54.18.png

三、this关键字:区分成员变量和局部变量
截屏2026-03-27 20.05.19.png

四、构造方法:也叫做构造器、构造函数
作用:在创建对象的时候对成员变量进行初始化。

截屏2026-03-27 20.09.17.png
截屏2026-03-27 20.26.37.png
截屏2026-03-27 20.27.36.png
五、标准JavaBean
截屏2026-03-27 20.19.40.png

六、对象内存图
截屏2026-03-27 21.25.31.png
基本数据类型和引用数据类型
截屏2026-03-27 21.25.06.png
七、补充知识:成员变量、局部变量区别

]]>
<![CDATA[Java基础学习 ]]> https://lizhiqi.site/index.php/archives/4/ 2026-03-26T17:25:00+08:00 2026-03-26T17:25:00+08:00 ideal http://101.43.89.244
  • class:表示定义一个类,类是java项目中最基本的组成单元
  • {}: 类的范围
  • public static void main(String[] arg):
    表示java程序的主入口,当程序开始运行的时候,会从主入口开始逐行往下执行。固定格式
  • System.out.println(""): 输出语句/打印语句,表示将里面的内容输出到控制台
  • Java核心语法

    1. 字面量:程序中的数据

    整数类型: 直接写
    小数类型:直接写,加上小数截屏2026-03-26 21.26.07.png
    字符串类型: 用双引号引起来 " "
    字符类型: 用单引号引起来,内容智能有一个 '男'
    布尔类型: 布尔值
    空类型: 空值

    1. 变量:程序中,用来存储单个数据的容器

    我们会把经常发生变化的数据存储在变量中
    ·定义格式: 数据类型 变量名 = 数据值;
    int a = 10
    注意事项:
    ·变量只能存一个值
    ·变量名不允许重复定义!
    ·变量在使用之前一定要进行赋值
    ·一条语句可以定义多个变量,也可以连续赋值
    截屏2026-03-26 19.30.38.png
    截屏2026-03-26 19.34.04.png
    截屏2026-03-26 19.39.25.png
    截屏2026-03-26 19.36.06.png
    截屏2026-03-26 20.28.27.png

    3.数字运算:类型不一样不能运算,需要转到同类型才能计算
    类型转换:
    (1)隐式转换:前面补0
    触发时机:不同类型的数据进行计算,默认采取隐式转换,java自动转换
    <1>如果有byte short 类型的数据,先提升为int型
    <2>把取值范围小的提升为取值范围大的,再计算
    (2)强制转换:去掉前面不要的
    触发时机:不会自动触发,需要手动书写代码
    4.字符运算:查询ASCII表
    5.字符串运算:任意数据+字符串都是拼接操作,并产生一个新的字符串
    从左到右依次运算。

    1. 逻辑运算符
      & | !
      6.1 短路逻辑运算符
      截屏2026-03-26 20.59.39.png
    2. 三元运算符
      格式: 关系表达式?表达式1:表达式2;
      计算规则: 先计算关系表达式的值,成立->1, 不成立->2
      截屏2026-03-26 21.05.00.png

      1. 判断语句:只有满足条件,对应代码才能执行

      (1)K&R风格:左括号在上一行末尾
      if(关系表达式){
      语句体
      }
      (2)if语句大括号的省略:如果大括号里面只有一行,大括号可以省略
      (3)小括号的后面不能有分号; 表示切断
      (4)判断布尔类型的变量:判断布尔类型的变量,直接把变量写在小括号中即可
      截屏2026-03-26 21.24.08.png

      1. 选择语句
        switch(){
        case :
        default

      }
      截屏2026-03-26 22.22.35.png
      (1)default的位置和省略:
      default的位置和case无关。
      (2) case 穿透: 在我们写代码的时候,如果break没有写,此时就会触发case穿透现象
      执行流程:
      <1>拿着小括号中表达式的值跟下面的case进行匹配
      <2>如果匹配上来,就会执行case里面的语句体,遇到break结束整个的switch(正常情况)
      <3>如果执行语句体的时候没有看到break,那么程序会继续执行下一个case的语句体,直到遇到break或者运行完整的switch为止。

    switch新特性:
    <1> 箭头标签 ->{}. 不用break
    <2> case后面可以写多个数值 1,2,3,4
    <3> switch可以有运行结果
    <4> yield关键字
    截屏2026-03-26 22.35.18.png

    1. 循环语句

    截屏2026-03-27 10.56.38.png
    截屏2026-03-27 11.04.44.png
    截屏2026-03-27 11.05.57.png
    截屏2026-03-27 11.53.33.png


    方法:程序中最小的执行单元。

    实际开发中方法的应用场景:

    1. 提高代码的复用性
    2. 提高代码的可维护性

    截屏2026-03-27 17.11.50.png
    截屏2026-03-27 17.12.26.png
    带参数的方法定义
    截屏2026-03-27 17.19.42.png
    带返回值的方法的定义和调用
    截屏2026-03-27 17.21.01.png


    方法重载
    截屏2026-03-27 17.29.35.png
    截屏2026-03-27 17.50.43.png

    ]]>
    <![CDATA[这是我网站的第一篇文章]]> https://lizhiqi.site/index.php/archives/1/ 2026-03-24T16:45:00+08:00 2026-03-24T16:45:00+08:00 ideal http://101.43.89.244 网站搭好啦!互联网开发之路要启程了

    ]]>