Idealize https://lizhiqi.site/ 记录互联网开发历程 面向对象高级(继承、多态、抽象类、接口、内部类) https://lizhiqi.site/index.php/archives/83/ 2026-03-28T20:40:00+08:00 继承继承是类与类之间的一种父子关系,java中提供关键字extends,用于建立类与类之间的关系public class Student **extends** Person{} 如何设计继承结构?当类和类之间,存在相同(共性)的内容,并满足子类是父类中的一种,就可以考虑使用继承,来优化代码。 继承的特点:java只支持单继承,不支持多继承,但支持多层继承。直接父类 和 间接父类顶级父类Object继承中的成员特点 --- 成员变量书写规则:把多个子类中相同的属性抽取到父类当中调用规则:遵守就近原则 面向对象进阶 https://lizhiqi.site/index.php/archives/68/ 2026-03-28T15:58:00+08:00 static 关键字修饰成员变量特点:叫做静态变量,被该类所有对象共享共享: 赋值只要赋值一次。只要有一个对象修改了静态变量,其他对象再次访问的时候就是修改之后的结果。调用方式:方式一:类名调用 (推荐) class.方式二:对象名调用 静态变量是随着类的加载而加载static 修饰成员方法static修饰的方法叫做静态方法该方法多在测试类和工具类中javabean类中很少使用调用方式:方式一:类名调用 (推荐) class.方式二:对象名调用工具类不是描述一类事物的,也没有main方法,而是帮我们做一些事情的类书写方法静态的注意事项main的重新认识final关键字枚举枚举类的对象是有限个的。public enum 枚举类名{类型行为}valus():表示获取本类所有的枚举项valueof():表示获取一个指定的枚举项 API 、 字符串 、 数组 https://lizhiqi.site/index.php/archives/64/ 2026-03-28T14:43:00+08:00 API: 应用程序编程接口简单理解:API就是别人已经写好的东西,我们不需要自己编写,直接使用即可。java API 指的就是JDK中提供的各种功能的java类Scanner 键盘录入Random 获取随机数字符串 StringString是java定义好的类,定义在java.lang包中(核心包)字符串的内容是不会发生改变的,它的对象在创建后不能被更改StringBuilder 可以看成一个容器,创建之后里面的内容是可变的append() reverse() length() toString()StingJoinerStringJoiner("","","") 间隔符号,前符号,后符号集合 ArrayList (java.util)集合存储数据的特点:自动扩容add, remove, set , get , size()增删改插 面向对象编程 https://lizhiqi.site/index.php/archives/42/ 2026-03-27T19:29:00+08:00 面向对象编程:拿东西过来做对应的事情面向对象的重点学习什么?学习获取已有对象并使用学习如何自己设计对象并使用 -> 面向对象的语法目录:一、设计对象并使用类和对象定义类类的几个补充注意事项二、封装 (三大特性之一)对象代表什么,就得封装对应的数据,并提供数据对应的行为。案例:人关门三、this关键字:区分成员变量和局部变量四、构造方法:也叫做构造器、构造函数作用:在创建对象的时候对成员变量进行初始化。五、标准JavaBean六、对象内存图基本数据类型和引用数据类型七、补充知识:成员变量、局部变量区别 Java基础学习 https://lizhiqi.site/index.php/archives/4/ 2026-03-26T17:25:00+08:00 class:表示定义一个类,类是java项目中最基本的组成单元{}: 类的范围public static void main(String[] arg): 表示java程序的主入口,当程序开始运行的时候,会从主入口开始逐行往下执行。固定格式System.out.println(""): 输出语句/打印语句,表示将里面的内容输出到控制台Java核心语法字面量:程序中的数据整数类型: 直接写小数类型:直接写,加上小数点字符串类型: 用双引号引起来 " " 字符类型: 用单引号引起来,内容智能有一个 '男'布尔类型: 布尔值空类型: 空值变量:程序中,用来存储单个数据的容器我们会把经常发生变化的数据存储在变量中 ·定义格式: 数据类型 变量名 = 数据值;int a = 10 注意事项:·变量只能存一个值·变量名不允许重复定义!·变量在使用之前一定要进行赋值·一条语句可以定义多个变量,也可以连续赋值3.数字运算:类型不一样不能运算,需要转到同类型才能计算类型转换:(1)隐式转换:前面补0触发时机:不同类型的数据进行计算,默认采取隐式转换,java自动转换如果有byte short 类型的数据,先提升为int型把取值范围小的提升为取值范围大的,再计算(2)强制转换:去掉前面不要的触发时机:不会自动触发,需要手动书写代码4.字符运算:查询ASCII表5.字符串运算:任意数据+字符串都是拼接操作,并产生一个新的字符串从左到右依次运算。逻辑运算符& | !6.1 短路逻辑运算符三元运算符格式: 关系表达式?表达式1:表达式2;计算规则: 先计算关系表达式的值,成立->1, 不成立->2判断语句:只有满足条件,对应代码才能执行(1)K&R风格:左括号在上一行末尾 if(关系表达式){语句体 }(2)if语句大括号的省略:如果大括号里面只有一行,大括号可以省略(3)小括号的后面不能有分号; 表示切断(4)判断布尔类型的变量:判断布尔类型的变量,直接把变量写在小括号中即可选择语句 switch(){ case : default}(1)default的位置和省略:default的位置和case无关。(2) case 穿透: 在我们写代码的时候,如果break没有写,此时就会触发case穿透现象执行流程:拿着小括号中表达式的值跟下面的case进行匹配如果匹配上来,就会执行case里面的语句体,遇到break结束整个的switch(正常情况)如果执行语句体的时候没有看到break,那么程序会继续执行下一个case的语句体,直到遇到break或者运行完整的switch为止。switch新特性: 箭头标签 ->{}. 不用break case后面可以写多个数值 1,2,3,4 switch可以有运行结果 yield关键字 循环语句方法:程序中最小的执行单元。实际开发中方法的应用场景:提高代码的复用性提高代码的可维护性带参数的方法定义带返回值的方法的定义和调用方法重载 这是我网站的第一篇文章 https://lizhiqi.site/index.php/archives/1/ 2026-03-24T16:45:00+08:00 网站搭好啦!互联网开发之路要启程了