Java基础知识分享
每部分内容会重点写一些常见知识点,方便复习和记忆,但并不是全部内容。
以下链接是java300集所做的个人笔记哦
具体介绍:
1、 面向对象三大特性
1.继承:一般类只能单继承,内部类实现多继承,接口可以多继承
2.封装:访问权限控制public > protected > 包 > private 内部类也是一种封装
3.多态:编译时多态,体现在向上转型和向下转型,通过引用类型判断调用哪个方法(静态分派)。
2、基本数据类型
-
基本类型位数,自动装箱,常量池。
-
例如byte类型是1byte也就是8位,可以表示的数字是-128到127,因为还有一个0,加起来一共是256,也就是2的八次方。
-
基本数据类型的包装类只在数字范围-128到127中用到常量池,会自动拆箱装箱,其余数字范围的包装类则会新建实例。
3、final关键字
-
final修饰基本数据类型保证不可变
-
final修饰引用保证引用不能指向别的对象,否则会报错。
-
final修饰类,类的实例分配空间后地址不可变,子类不能重写所有父类方法。因此在cglib动态代理中,不能为一个类的final修饰的函数做代理,因为cglib要将被代理的类设置为父类,然后再生成字节码。final修饰方法,子类不能重写该方法。
4、抽象类和接口
-
抽象类可以有方法实现。 抽象类可以有非final成员变量。 抽象方法要用abstract修饰。 抽象类可以有构造方法,但是只能由子类进行实例化。
-
接口可以用extends加多个接口实现多继承。 接口只能有public final类型的成员变量。 接口只能有抽象方法,不能有方法体、 接口不能实例化,但是可以作为引用类型。
5、包、内部类、外部类
-
Java项目一般从src目录开始有com...A.java这样的目录结构。这就是包结构。所以一般编译后的结构是跟包结构一模一样的,这样的结构保证了import时能找到正确的class引用包访问权限就是指同包下的类可见。import 一般加上全路径,并且使用.*时只包含当前目录的所有类文件,不包括子目录。
-
外部类只有public和default两种修饰,要么全局可访问,要么包内可访问。
-
内部类可以有全部访问权限,因为它的概念就是一个成员变量,所以访问权限设置与一般的成员变量相同。
非静态内部类是外部类的一个成员变量,只跟外部类的实例有关。静态内部类是独立于外部类存在的一个类,与外部类实例无关,可以通过外部类.内部类直接获取Class类型。
6、Class类和Object类
-
Java反射的基础是Class类,该类封装所有其他类的类型信息,并且在每个类加载后在堆区生成每个类的一个Class<类名>实例,用于该类的实例化。
-
Java中可以通过多种方式获取Class类型,比如A.class,new A().getClass()方法以及Class.forName("com.?.?.A")方法。
-
Object是所有类的父类,有着自己的一些私有方法,以及被所有类继承的9大方法。
今天就分享到这里了,需要更多资料的小伙伴们,私信我哦!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?