当前位置: 首页 > news >正文

修饰符与关键字

修饰符与关键字

1static   静态的

  • static修饰的变量叫静态变量,或者叫类变量
    • 存储的方法区中,只有一份,全类共有,被该类的所有实例共享
    • 可以使用“对象.类属性”来调用,不过一般是用“类名.类属性”
  • static修饰的方法叫静态方法
    • 不需要对象,可以有“类名.方法名”调用
    • 静态方法中不能使用this关键字,静态方法不能覆盖,同时不存在多态。
  • static修饰代码块
    • static修饰的代码块叫做静态代码块
    • 静态代码块主要作用是在类装载完毕之后由用户书写额外的业务代码的一个功能区域
    • 一个类可以有多个静态代码块,按照书写顺序执行
    • 类中也可以有动态代码块,动态代码块是在创建对象的时候优先于构造器执行一个额外的代码书写结构。多个动态代码块按照书写顺序执行。
  • static修饰内部类
    • static修饰的内部类叫做静态内部类,静态内部类同样属于类的成员
    • static修饰类,只能修饰内部类,不能修饰外部类
  • 静态成员在类加载时就被初始化,非静态成员在创建对象时初始化,所以静态成员不能访问非静态成员,但非静态方法可以访问类的所有成员

2this关键字

  普通方法中,this指向调用该方法的对象

  构造方法中,this指向同一类中的其他构造器,必须位于第一行

  static方法不能用thisstatic方法的加载先于对象初始化

3super关键字

  指向父类的属性和方法

  普通方法用sperm去执行被重写的父类中的方法。

  构造器使用super去调用父类中的构造器。而且这行代码必须放在第一行,否则编译将出错。

4、访问修饰符(Access Modifier):

  可以修饰:属性,方法,类 (接口,抽象类)

                 

 本类 

 同包中的其它类

不同包的子类

 任意类

private(本类)    

 YES

 NO

 NO

 NO

(defult)(本包)

 YES 

 YES 

 NO

 NO

protected(子类)

 YES

 YES

 YES

 NO

public(公共)

 YES

 YES

 YES

 YES

5final修饰符

  • final修饰属性
    • final修饰的属性叫做常量,常量是在程序中一经赋值则不能被修改的一个属性
    • final修饰的对象类型的变量指的是该对象的内存地址不能被修改
    • final修饰的属性可以用构造器的方式赋值
    • java中要想定义一个全局的静态常量,往往是用三个修饰符一起修饰变量

          例如:public static final int  a=10;   //公共的静态常量

  • final修饰的方法叫顶级方法,不能被重写
  • final修饰的类叫做终极类,不能被任何类继承

6、abstract  抽象

  • abstract修饰的类叫做抽象类
    • 抽象类不能有实例对象 (不能new对象)
    • 抽象类可以有属性,方法,抽象方法,构造方法,代码块
    • 非抽象类中不可以有抽象方法,抽象类中不一定要有抽象方法
  • abstract修饰的方法叫抽象方法
    • 抽象方法不需要实现,实现留给子类重写,子类重写该方法之后方法才能够生效;
    • 抽象方法不加大括号。  //abstract  void  change();

转载于:https://www.cnblogs.com/tsai/p/5319714.html

相关文章:

  • bootstrap 入门
  • SpringMVC 和 Struts2 的区别有哪些?
  • 递归经典问题详解
  • 讲下Spring框架
  • 视图间坐标转换
  • Spring与SpringMVC的区别
  • php关于的用法
  • Spring与SpringBoot的关系
  • Java网络编程(模拟浏览器访问Tomcat服务器)
  • Spring 、Spring Boot 和 Spring Cloud 的关系
  • xmpp 环境配置
  • SpringBoot常用注解
  • 二OpenStack 安装 Identity Service - Keystone
  • Spring IOC和AOP
  • Bean生命周期
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • Apache Pulsar 2.1 重磅发布
  • Java教程_软件开发基础
  • python学习笔记-类对象的信息
  • React Transition Group -- Transition 组件
  • REST架构的思考
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 缓存与缓冲
  • 每天10道Java面试题,跟我走,offer有!
  • 排序算法学习笔记
  • 区块链共识机制优缺点对比都是什么
  • 小程序开发之路(一)
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 白色的风信子
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • #大学#套接字
  • %check_box% in rails :coditions={:has_many , :through}
  • (2)STL算法之元素计数
  • (Forward) Music Player: From UI Proposal to Code
  • (Matlab)使用竞争神经网络实现数据聚类
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (zhuan) 一些RL的文献(及笔记)
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (转)socket Aio demo
  • .NET Core 2.1路线图
  • .NET Core引入性能分析引导优化
  • .NET MVC之AOP
  • .Net Remoting常用部署结构
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .sdf和.msp文件读取
  • [202209]mysql8.0 双主集群搭建 亲测可用
  • [Contest20180313]灵大会议
  • [CTF]2022美团CTF WEB WP
  • [DevOps云实践] 彻底删除AWS云资源