Java-面向对象进阶(qqbb知识点)

1.包

1)包的作用

包就是文件夹。用来管理各种不同功能的Java类,方便后期代码维护。

2)包名的书写规则

包名规则:公司域名反写+包的作用,需要全部英文小写,见名知意。

3)什么是全类名

包名+类名->用来区分当前的类到底是哪个包里面的。

4)什么时候需要导包

·使用同一个包中的类时,不需要导包。

·使用java.lang包中的类时,不需要导包。

·其他情况都要导包

·如果同时使用两个包中的同类名,需要使用全类名。

2.final

1)被final修饰后,就不能再进行改变。

2)final可以修饰方法,类,变量。

-被final修饰后的方法,表明该方法是最终方法,不能被重写。

-被final修饰后的类,表明该类时最终类,不能被继承。

-被final修饰后的变量,叫做常量,只能被赋值一次。

3)常量:实际开发中,常量一般作为系统的配置信息,方便维护,提高可读性。

常量的命名规范:

·单个单词:全部大写

·多个单词:全部大写,单词之间用下划线隔开

-final修饰的变量是基本数据类型 :那么变量存储的数据值不能发生改变。

final修饰的变量是引用数据类型 :那么变量存储的地址值不能发生改变,对象内部的可以改变。

3.权限修饰符

用来控制一个成员能够被访问的范围。可以修饰成员变量,方法,构造方法,内部类。

权限修饰符的分类,有四种作用,范围由小到大(private<空着不写缺省/默认<protected<public)

private只能自己用,默认的只能本包用,protected除了本包外面其他包里面的子类还能用,public都能用。

权限修饰符的使用规则:

-实际开发时,一般只会使用private和public,成员变量私有,方法公开。

特例:如果方法中的代码时抽取其他方法中共性代码,这个方法一般也私有。

4.代码块

1)局部代码块

{}作用:提前结束变量的生命周期

2)构造代码块

-写在成员位置的代码块

-作用:可以把多个构造方法中重复的代码抽取出来

-执行时机:在创建本类对象的时候会先执行构造代码块再执行构造方法

3)静态代码块

格式:static{}

特点:需要通过static关键字修饰,随着类的加载而加载,并且自动触发、只执行一次

一般在数据初始化使用。

5.抽象类和抽象方法
5.1抽象方法与抽象类的介绍

抽象方法:将共性的行为(方法)抽取到父类之后,由于每一个子类执行的内容是不一样的,所以在父类中不能确定具体的方法体,该方法就可以定义为抽象方法。

抽象类:如果一个类中存在抽象方法,那么该类就必须声明为抽象类

5.2抽象方法与抽象类的定义格式

抽象方法的定义格式:public abstract 返回值类型 方法名(参数列表);

抽象类的定义格式:public abstract class 类名{}

5.3注意事项

-抽象类不能实例化

-抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类

-可以有构造方法

-抽象类的子类-要么重写抽象类中的所有抽象方法,要么是抽象类

相关推荐
十年Java程序媛几秒前
深度实战:JDK21 虚拟线程 + HikariCP 生产正确配比、坑点、监控全套
java·spring boot
xiaoqiMikko8 分钟前
有人在搜一个不存在的 Tomcat 版本
java·tomcat
用户3126874877204 小时前
ConcurrentHashMap 怎么保证线程安全?从分段锁到 CAS+synchronized
java
vipxieliang4 小时前
ValidX vs Apache Commons Validator:功能与性能对比
java·spring boot
SimonKing4 小时前
升级Spring Boot 4后,从 Jackson 2 到 3,到底有哪些变化
java·后端·程序员
吃饱了得干活4 小时前
一篇讲清楚Spring Boot:自动装配、启动器、过滤器、拦截器、设计模式
java·spring boot·后端
lhldsg6 小时前
AI零售系统实战指南:从架构设计到落地部署全解析
java·人工智能·小程序·uni-app·零售
Interview Aid1126 小时前
TikTok OA 四题分享|半小时内 AC,题目基本都是实现题
java·开发语言·算法·面试·职场和发展
mldong6 小时前
换了工作流引擎,前端一行代码没改
java·架构
CoderIsArt13 小时前
C#中UI 线程与 Dispatcher
开发语言·ui·c#