首页 > 其他分享 >第九章:三个修饰符

第九章:三个修饰符

时间:2024-06-04 20:30:38浏览次数:23  
标签:第九章 修饰符 静态 三个 static 修饰 final 类名 属性

一、abstract[抽象的]


1. abstract可以修饰类:

(1) 被abstract修饰的类称为抽象类

(2) 语法:
abstract class 类名{}
(3)特点:抽象类只能声明引用,不能创建对象

(4)抽象类中可以定义属性和成员方法、构造方法

 2. asbtract可以修饰方法:


(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文件,对文件进行读取,读取该类的包名、类名、父类、属性、构造方法等信息,并将读取的信息保存到jvm内存中,一个类进行一次类加载。
(6) jvm类加载的时机(什么叫第一次使用一个类):
a.第一次访问该类的静态成员

b.第一次创建该类对象:
先进行类加载,再完成对象的创建

c.子类类加载,先导致其父类类加载

 

 三、final[最终的、最后的]


1. final可以修饰变量:


(1) 被final修饰的变量作用范围内的常量

(2)final 数据类型变量名;
(3)特点:只允许一次赋值,不允许修改
(4)注意:引用一旦被final修饰,代表引用中存储的对象不能更换

 2 final可以修饰方法:允许子类继承,但是不允许覆盖

3. final可以修饰类:被final修饰的类不允许被继承,没有子类,例如:System、Math


思考:System.out.println();实现原理?
System -> 类
out -> 静态 属性-》对象类型

println() -> 方法

标签:第九章,修饰符,静态,三个,static,修饰,final,类名,属性
From: https://blog.csdn.net/2301_81319444/article/details/139452985

相关文章

  • 二进制部署etcd-三个集群方案
    etcd的二进制部署还有什么问题,想咨询的,加群:582337768。这个群不是我的,但是我在里面,但是还是那句话,我也不懂。三个节点信息node01ip=192.168.1.11node02ip=192.168.1.12node03ip=192.168.1.13创建证书#下载制作证书的二进制文件wget--no-check-certificatehttps://p......
  • 已知一组数字:21,25,11,32,12,35,55,77,66,要求按以下规则进行排序.第一个数最大,第二个数最小,第三个数字是剩下中的最
    importjava.util.Arrays;importjava.util.ArrayList;importjava.util.Collections;publicclassTest_A19{publicstaticvoidmain(String[]args){Integer[]numbers={21,25,11,32,12,35,55,77,66};Arrays.sort(numbers,Collect......
  • 外贸交易十大主流币种与十三个小币种有哪些
    十大流程币种又称G10币种,指一组由十个主要工业国家所发行的货币。这些国家通常在全球经济中占据重要地位,其货币被广泛用作国际交易和储备货币。这些国家通常包括美国、日本、英国、德国、法国、意大利、加拿大、澳大利亚或南非以及俄罗斯和阿根廷。十大主流币种:目前G10币种有:美......
  • 【JUC】2-一把“锁”两个“并”三个“程”(JAVA多线程相关概念)
    1、一把锁(synchronized)2、两个并(并发并行)并发是在同一实体上的多个事件,是在一台处理器上同时处理多个任务,同一时刻,其实是只有一个时间在发生并行是在不同实体上的多个事件,是在多台处理器上同时处理多个任务,同一时刻,大家真的都在做事情,互不影响3、三个程(进程线程管程)进程......
  • 《C++primer》读书笔记---第九章:顺序容器
    9.1顺序容器概述下表列出了标准库的顺序容器,所有容器都提供了快速顺序访问元素的能力:多种容器中,通常使用vector是最好的选择,除非你有很好的理由选则其他容器。以下是一些选择容器的基本原则:除非你有很好的理由选择其他容器,否则选择vector如果你的程序有很多小的元素,且空......
  • java期末练习题,设计教师类,完成教授,副教授,讲师三个类的定义,在完成相应的测试。
        教授的基本工资为5000元,每学时补贴70元;     副教授的基本工资为3500元,每学时补贴60元;     讲师的基本工资2600元,每学时补贴55元。     已知每个教师的学时数,计算每个教师的每月工资数。输入1对应教授。输入2对应副教......
  • 有1,2,3,4这四个数字,能组成多少个互不相同且无重复数字的三个数?分别是什么?
    有1,2,3,4这四个数字,能组成多少个互不相同且无重复数字的三个数?分别是什么?提示:123,321就是符合要求,数字既不相同,而且每个数字的个十百位也不重复;而121,212就不行,因为数字的各位与百位重复123,124,134,213,214,234result=0count=0#取百位上的数字foriinrange(1,5):#获取十位......
  • 在javascript中定义三个状态机
    //定义基础状态机类classBaseStateMachine{constructor(initialState){this.currentState=initialState;}//转换状态的方法,子类需要根据实际逻辑重写此方法transition(event){thrownewError("transitionmethodmustbeimp......
  • 记住这三个神仙代码,时刻为你的电脑保驾护航
    在这个数字化飞速发展的时代,我们的电脑不仅存储着重要的个人信息,还承载着繁重的工作任务。如何确保电脑的安全与稳定运行,成为了一个至关重要的问题。今天小编给大家分享这三个神仙代码,记好了这三个代码,时刻为你的电脑保驾护航。代码1:dxdiag按住win+R键,打开运行框,输入dxdiag......
  • 让大模型变得更聪明三个方向
    让大模型变得更聪明三个方向随着人工智能技术的飞速发展,大模型在多个领域展现出了前所未有的能力,但它们仍然面临着理解力、泛化能力和适应性等方面的挑战。那么,如何让大模型变得更聪明呢?方向一:算法创新1.1算法创新关键步骤和策略不断探索和开发新的算法,以提高模型的学习......