第十三周 5.28 三个修饰符知识点

一、abstract[抽象的]
1.abstract可以修饰类:
        (1)被abstract修饰的类称为抽象类
        (2)  语法:abstract class 类名{}
        (3)  特点:抽象类只能声明引用,不能创建对象
        (4)  抽象类中可以定义属性和成员方法、构造方法
2.abstract可以修饰方法
        (1)被asbtract修饰的方法称为抽象方法
        (2)语法:
                访问修饰符 abstract 返回值类型 方法名(形参);
                注意:访问修饰符和abstract没有先后顺序

        (3)特点:抽象方法只有声明部分,没有方法的实现
        (4)注意:抽象方法只能定义在抽象类中
3.抽象可以定义子类
        (1)语法:class 类名 extends 抽象类类名{}

        (2)特点:子类不想成为抽象类,则必须覆盖父类中所有的抽象方法

二、static[静态的]
1.可以修饰属性:
        (1)被static修饰的属性称为静态属性、静态变量、类变量
        (2)语法:static 数据类型 变量名;
                static 数据类型 变量名 = 值;(3)特点:静态变量基于类存在,被所有对象共享,和创建对象的多少无关
        (4)使用:
                a.可以通过 对象.静态属性名
                b.可以直接通过 类名.静态属性名 ->建议

2.


3.可以修饰方法:

        (1)被static修饰的方法称为静态方法
        (2)语法:
                访问修饰符 static 返回值类型 方法名(形参){}
        (3)使用:直接通过 类名.静态方法名(实参);
        (4)注意:静态方法中只能访问本类的静态成员,不能直接访问本类的非静态成员
        (5)静态方法中不能使用 this 和 super关键字
4.可以代码块

        (1)被static修饰的代码称为静态代码块
        (2)位置:定义在类以内,方法以外,被 static修饰的{}
        (3)语法:
                class 类名{
                        static{}

                }
        (4)作用:在类加载的时候,静态代码块按照和属性定义的先后顺序完成对静态属性的初始化工作

        (5)类加载:当jvm第一次使用一个类的时候,通过classpath找到类对应的.class文件,对文件进行读取,读取该类的包名、类名、父类、属性、构造方法等信息,并将读取的信息保存到ivm内存中,一个类进行一次类加载。
        (6)jvm类加载的时机(什么叫第一次使用一个类)
                a.第一次访问该类的静态成员第一次创建该类对象:

                b.先进行类加载,再完成对象的创建
                c.子类类加载,先导致其父类类加载

三、final[最终的、最后的]
1.final可以修饰变量:
        (1)被final修饰的变量作用范围内的常量        

        (2)final数据类型 变量名;
        (3)特点:只允许一次赋值,不允许修改
        (4)注意:引用一旦被fina1修饰,代表引用中存储的对象不能更换
2.final可以修饰方法:允许子类继承,但是不允许覆盖
3.final可以修饰类:被final修饰的类不允许被继承,没有子类,例如:System、Math
        思考:System.out.printin();实现原理?

                System ->类

                out ->静态 属性 -》对象类型
                println()->方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/25405.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringSecurity提供了哪些核心功能?

Spring Security 是一个强大且高度可定制的身份验证和访问控制框架,它是为保护基于Spring的应用程序而设计的。Spring Security 提供了下列核心功能: 1. 全面的身份验证支持 Spring Security 支持广泛的身份验证机制,包括表单基础认证、HTT…

【Linux】匿名管道的应用场景 --- 进程池

👦个人主页:Weraphael ✍🏻作者简介:目前正在学习c和算法 ✈️专栏:Linux 🐋 希望大家多多支持,咱一起进步!😁 如果文章有啥瑕疵,希望大佬指点一二 如果文章对…

Tomcat中轻松部署Java Web项目

Tomcat 是一个广泛使用的 Java Servlet 容器和 Web 服务器,它允许你部署 Java Web 应用程序。以下是使用 Tomcat 部署 Java 项目的基本步骤: 1. 准备 Java 项目 确保你的 Java 项目是一个 Web 应用程序,即它包含了一个 WEB-INF 目录&#x…

Qt qtpropertybrowser使用实例(1)

属性界面实例&#xff1a; 代码如下&#xff1a; #include <QDate> #include <QLocale> #include "qtpropertymanager.h" #include "qtvariantproperty.h" #include "qttreepropertybrowser.h" int main(int argc, char *argv[]) {…

nginx mirror流量镜像详细介绍以及实战示例

nginx mirror流量镜像详细介绍以及实战示例 1.nginx mirror作用2.nginx安装3.修改配置3.1.nginx.conf3.2.conf.d目录下添加default.conf配置文件3.3.nginx配置注意事项3.3.nginx重启 4.测试 1.nginx mirror作用 为了便于排查问题&#xff0c;可能希望线上的请求能够同步到测试…

TalkingData 是一家专注于提供数据统计和分析解决方案的独立第三方数据智能服务平台

TalkingData 是一家专注于提供数据统计和分析解决方案的独立第三方数据智能服务平台。通过搜索结果&#xff0c;我们可以了解到 TalkingData 的一些关键特性和市场情况&#xff0c;并将其与同类型产品进行比较。 TalkingData 产品特性 数据统计与分析&#xff1a;提供专业的数…

OSX-KVM - 在 QEMU/KVM上运行macOS

文章目录 依赖安装准备安装Headless macOSSetting Expectations Right安装后这合法吗&#xff1f;动机回馈贡献 OSX-KVM 支持早 QEMU/KVM上运行macOS。现在支持OpenCoreMontereyVenturaSonoma&#xff01; 现在仅提供商业&#xff08;付费&#xff09;支持&#xff0c;以避免垃…

【每日算法】

算法第15天| (二叉树part02)层序遍历、226.翻转二叉树(优先掌握递归)、101. 对称二叉树(优先掌握递归) 文章目录 算法第15天| (二叉树part02)层序遍历、226.翻转二叉树(优先掌握递归)、101. 对称二叉树(优先掌握递归)一、层序遍历二、226. 翻转二叉树(优先掌握递归)三、101. 对…

Elasticsearch index 设置 false,为什么还可以被检索到?

在 Elasticsearch 中&#xff0c;mapping 定义了索引中的字段类型及其处理方式。 近期有球友提问&#xff0c;为什么设置了 index: false 的字段仍能被检索。 本文将详细探讨这个问题&#xff0c;并引入列式存储的概念&#xff0c;帮助大家更好地理解 Elasticsearch 的存储和查…

在Tomcat 10.1.x上使用jstl

通过在Web应用程序项目的/WEB-INF/lib文件夹中放入以下两个Jar包 jakarta.servlet.jsp.jstl-3.0.1.jarjakarta.servlet.jsp.jstl-api-3.0.0.jar 在 jsp 页面导入 taglib 标签 <% taglib prefix"c" uri"jakarta.tags.core" %>

区分live(居住v)、live(直播的adj、直播地adv)、life/lives(生活n及其复数)的读音

文章目录 区分live&#xff08;居住v&#xff09;、live&#xff08;直播的adj、直播地adv&#xff09;、life/lives&#xff08;生活n及其复数&#xff09;的读音 区分live&#xff08;居住v&#xff09;、live&#xff08;直播的adj、直播地adv&#xff09;、life/lives&…

打造实用的时间序列数据处理类:Python中的TimeSeriesAnalyzer

题目:打造实用的时间序列数据处理类:Python中的TimeSeriesAnalyzer 在数据科学、金融分析和许多其他领域中,时间序列数据是非常常见的。处理这类数据通常需要特定的技术和方法。本文将介绍如何设计一个用于处理时间序列数据的Python类TimeSeriesAnalyzer,它包含了一些基本…

mysql数据库 自增id从指定数字开始

如果想要给每个用户一个七或者更多位数的uid&#xff0c;可以在用户表中设置id为自增&#xff0c;并且设置初始值 1.创建表时指定 CREATE TABLE user( -- 建表语句 )AUTO_INCTEMENT自增值; 例如 create table user (id int unsigned primary key auto_incremen…

基于STM32F030设计的多点温度采集系统(BC26+OneNet)

一、项目背景 随着物联网技术的迅猛发展&#xff0c;越来越多的智能设备应运而生&#xff0c;而温度采集系统是其中重要的一类。在现代工业和家庭生活中&#xff0c;温度对于生产、居住和储存等过程的控制有着非常重要的作用。因此&#xff0c;准确地采集环境温度数据并进行处…

HTML做成一个粒子漩涡特效页面

大家好&#xff0c;今天制作制作一个粒子漩涡特效的页面&#xff01; 先看具体效果&#xff1a; 要在一个单一的 index.html 页面中实现粒子漩涡特效&#xff0c;我们可以使用HTML、CSS和JavaScript&#xff08;不需要外部库&#xff09;。下面是一个简单的例子&#xff0c;展…

免费热榜API——哔哩哔哩

一、请求地址 http://api.dataguan.com/api/center/getBiBiHot 二、请求方式 post 三、接口文档 1、请求参数 到www.dataguan.com 免费获取apikey和sign&#xff0c;sign由apikey和apisecret生成 字段说明是否必传apiKey接口钥匙是sign签名是 2、响应说明 字段说明top…

JWT 从入门到精通

什么是 JWT JSON Web Token&#xff08;JWT&#xff09;是目前最流行的跨域身份验证解决方案 JSON Web Token Introduction - jwt.ioLearn about JSON Web Tokens, what are they, how they work, when and why you should use them.https://jwt.io/introduction 一、常见会…

Git发布正式

一般我们开发都是在测试环境开发&#xff0c;开发完成后再发布到正式环境。 一.分支代码合并到主分支1.首先切换到自己的分支(比如分支叫&#xff1a;dev)git checkout dev2.把本地分支拉取下来git pull 或者 git pull origin dev3.切换到主分支mastergit checkout master4.更新…

【Vue】购物车案例-构建项目

脚手架新建项目 (注意&#xff1a;勾选vuex) 版本说明&#xff1a; vue2 vue-router3 vuex3 vue3 vue-router4 vuex4/pinia vue create vue-cart-demo需要勾选上vuex&#xff0c;由于这个项目只有一个页面&#xff0c;vuex可勾可不勾 将原本src内容清空&#xff0c;替换成教学…