java基础回顾
访问权限
public > protected > default(包访问权限) > private
类中有且仅有五大成分(五大金刚)
成员变量 field 描述类和对象的属性信息
成员方法 method 描述类和对象的行为信息
构造器 construct 初始化一个类的对象并返还引用
代码块
内部类
this 关键字 (继承中代表子类对象)
代表当前对象的引用。
可以用在实例方法和构造器中。
this用在方法中谁调用就代表谁。
this用在构造器中代表构造器正在初始化的那个引用。
this有时候可以省略不写。
this(...)根据参数访问本类其他构造器。
super 关键字 (继承中代表父类对象)
调用父类被重写的方法。
可以用在子类的实例方法中调用父类被重写的方法。
子类全部构造器中第一行默认有super(),写不写都存在。
可以在子类构造器通过super(...)根据参数选择调用父类构造器,以便调用父类构造器初始化继承父类数据。
static 关键字
java通过static来判断成员变量/方法属于类还是对象
static修饰用类名访问;无static修饰只能通过对象访问。
接口是彻底的抽象,在JDK1.8之前只有常量和抽象方法。
体现的是规范思想,实现接口的字类必须实现接口的全部方法。
接口中的抽象方法可以省略public abstract,默认加上。
常量一般使用修饰符 public static final 修饰,常量名称建议全部大写,空格用下划线代替。
接口中可以省略 public static final
实现接口的类叫实现类。
接口可以多实现;父类不可以多继承
面向对象的三大特征 封装 继承 多态
封装的好处 实现代码的组件化
封装的规范
成员变量都私有 用private修饰使得成员变量,构造器等职能在本类被直接访问。
提供成套的get/set方法 用public修饰符 公开的
封装的核心思想,合理隐藏,合理暴露。
封装已经成为java的风格,即使毫无意义。
多态
同一类型的对象,执行同一个行为,在不同的状态下会表现出不同的行为特征。
识别技巧
对于方法,编译看左边,运行看右边。
对于变量,编译看左边,运行看左边。
优势,
- 右边对象可以实现组件化切换,业务功能也随之切换,便于扩展和维护。可以实现类与类之间的解耦。
- 实际开发中,父类类型作为方法形式参数,传递子类对象给方法。可以穿入一切子类对象进行方法的调用。
劣势,多态形式下,不能调用子类特有的功能,因为编译看左边,报错。
使用强制类型转换可以解决上述劣势。
有继承或者实现关系的两个类型就可以强制类型转换,编译不报错。但是运行时可能出转换异常,所以java建议使用 变量 instansof 类型判断类型后再转换。
匿名内部类
new 类名/抽象类/接口(形参){方法重写}
没有名字;一旦写出来就好创建一个匿名内部类对象的返回;对象类型相当于new的那个类的子类。
可以用箭->头函数简化p64
包
公司域名的倒写➕技术。建议全部用英文,单词之间用.连接。必须合法标识符,不能有关键字。
不同包下的类必须导入后使用。import 包名➕类名
包装类
java中一切皆对象,引用类型都是对象。但是8基本数据类型不是,只表示数据类型形式。java为了一切皆对象思想统一,把这8基本数据类型转换成对应的类,这个类称为基本数据类型的包装类。
byte Byte
short Short
int Integer
long Long
double Double
float Float
char Character
boolean Boolean
包装类的特殊功能
- 可以把基本数据类型的值转换成字符串(没啥用)
toString()
- 可以把字符串类型的数值转换成基本数据类型(非常有用)
xxx.parsexxx
xxx.valueOf() 推荐使用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?