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注意事项

-抽象类不能实例化

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

-可以有构造方法

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

相关推荐
dialect_7 小时前
KMP算法
开发语言·c++·算法
captain3767 小时前
MyBatis(入门5)其他查询操作
java·数据库·spring boot·mybatis
Novproxy_Z8 小时前
商用代理避坑:如何识别商家拿机房 IP 冒充住宅 IP
java·网络·tcp/ip
总要学点什么8 小时前
第89篇:三维特效-螺旋圆效果——让螺旋臂卷起一圈圈外扩的涟漪
开发语言·javascript·ecmascript·webgl·cesium·空间分析·1024程序员节
文丑颜不良啊8 小时前
LeetCode1481~1500题目解析
java·leetcode
2601_962885728 小时前
quotes 字段全解:涨跌幅、振幅、换手率的口径与单位
java·前端·spring
前端精髓9 小时前
调用openrouter的免费API模型
java·前端·javascript
步行cgn9 小时前
Spring MVC 拦截器 Interceptor 详解:从执行流程到实战应用
java·spring·mvc
文丑颜不良啊9 小时前
LeetCode1381~1400题目解析
java·leetcode
开开心心_Every9 小时前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea