作为刚入门Java的小白,对于public,private,final,static等概念总是搞不清楚,到底都代表着什么,这里做一个简单的梳理,和大家分享,若有错误请指正,谢谢~

访问权限修饰符

public和private是访问权限修饰符,用于控制外界对类内部成员的访问。

public:表明对象成员是完全共有的,外界可以随意访问。

private:表明对象成员是完全私有的,不容许外界的任何访问。

具体关于public,private的内容请移步:Java对象成员的封装,  进一步有关protected的内容请移步:Java继承

类成员变化修饰符

static和final是控制类成员变化的修饰符。

static:静态成员修饰符,其修饰的静态变量脱离具体对象独立存在,在内存中之后一份拷贝,所有的对象都公用这一个存储空间,所以对static修饰的静态变量进行的修改对该类的所有对象都起作用。static修饰的静态函数代表所有对象的统一操作,只能调用静态变量。static是针对面向对象中的“多态”而提出来的,static修饰的静态成员不存在多态性。

final:final用来修饰方法和属性表示特殊的意义。修饰方法时表示方法不能被重写;修饰属性时表示属性不能被改变,这里属性又分为对象和基本类型,修饰基本类型表示基本类型赋值以后不能再被赋值,修饰对象表示这个属性不能再指向其他对象(引用不变),但是他指向的这个对象本身还是可以被改变的。

既然final方法不可重写,那下面这段程序是否有错呢?

答案: 正确的。

使用final关键字可以声明类、成员变量和成员方法,一经声明,便不可继承、不可修改和不能覆盖。

本例中,基类方法 是private ,他在子类中是不可见的,故子类中的 同名方法 不再是覆盖,相当于一个新的方法名。

这种情况比较特殊,书上说 如果子类中的一个方法与它超类中的方法有相同的方法名和参数签名,称子类中的方法覆盖(override)超类中的方法。 这种说法是不严密的。

额外小知识:

final方法不能被子类覆盖。编译器在调用final方法时会转入内嵌机制(直接将方法主体插入到调用处),大大提高执行效率(50%左右)。API类中的许多方法,如Object类中的getClass方法为final方法。

说明:final不能用于修饰构造方法。

java 内嵌机制_[转] Java中public,private,final,static等概念的解读相关推荐

  1. Java内嵌秒表_【Java】Java计时器(秒表)(示例代码)

    import javax.swing.*;importjava.awt.HeadlessException;importjava.awt.BorderLayout;importjava.awt.Flo ...

  2. PHP Class中public,private,protected,static的区别

    PHP Class中public,private,protected,static的区别 public:权限是最大的,可以内部调用,实例调用,可以被继承. protected:受保护类型,用于本类和继 ...

  3. java垃圾回收机制_笔记 | Java垃圾回收机制

    本文经授权转载自程序员杂货铺(ID:speakFramework) 垃圾回收 最近上海的小伙伴是不是要被强垃圾分类搞疯了???哈哈哈哈 上海是个走在前列的城市啊,不光骑自行车闯红灯要被罚钱,垃圾不分类 ...

  4. 简述java的异常处理机制_简述java异常处理机制

    引言: Hello,我的好朋友们,又到我们相聚的时间了,今天我要和大家分享一些有关java异常处理的相关 知识,也是通过老师的讲解和相关材料的借鉴之后的一个比较系统的总结,真心希望写完这篇文章的我和看 ...

  5. java内嵌excel_如何在Excel中嵌入URL中的图像?

    我试图从URL中提取图像并将其嵌入Excel中 . 我的Excel表格很简单:它包含2列 . 第1列具有图像URL . 在第2列中,我想嵌入图像 . 我使用以下代码 . 它在第一行工作得非常好,我在本 ...

  6. java io工作机制_深入分析Java I/O 工作机制

    前言 :  I/O 问题是Web 应用中所面临的主要问题之一.而且是任何编程语言都无法回避的问题,是整个人机交互的核心. java 的I/O类操作在java.io 包下,将近80个子类, 大概可以分成 ...

  7. java实验多线程机制_使用Java多线程的同步机制编写应用程序 PDF 下载

    使用Java多线程的同步机制编写应用程序 PDF 下载 本站整理下载: 相关截图: 主要内容: 一. 实验名称 使用Java多线程的同步机制编写应用程序 二. 实验目的及要求 1.理解并行/并发的概念 ...

  8. java.lang.IllegalArgumentException: 字符[_]在域名中永远无效。 at

    [http-nio-8080-exec-1] org.apache.coyote.AbstractProcessor.parseHost [xxx_tomcat] 是无效主机注意:更多的请求解析错误将 ...

  9. java工程license机制_使用truelicense实现用于JAVA工程license机制(包括license生成和验证)...

    开发的软件产品在交付使用的时候,往往会授权一段时间的试用期,这个时候license就派上用场了.不同于在代码中直接加上时间约束,需要重新授权的时候使用license可以避免修改源码,改动部署,授权方直 ...

最新文章

  1. eclipse.ini内存设置(转)
  2. 从单体式架构迁移到微服务架构,看这篇文章就行了!
  3. 广告植入、电商导流……“变味”的线上演唱会
  4. Eviews学习笔记
  5. vue3.x通过ref属性获取元素
  6. XmlDocument类
  7. linux查看杀死进程
  8. 打开mysql的远程连接_开启mysql的远程访问权限
  9. 【Http】加解密 生成 X.509格式,DER编码,后缀名.cer 加密公钥证书
  10. 自定义http报头_浅谈http协议(三):HTTP 报文及其结构
  11. iOS:using Segue in Popover
  12. python数据处理:数据合并和Reshaping
  13. 设计模式 ( 一 ) 单例模式
  14. mysql卸载安装pxc_PXC安装
  15. pr开放式字幕(同步台词)
  16. matlab 方位角 经纬度,经纬度转方位角matlab程序
  17. 部署 LAMP 平台
  18. 黑帆第一季/全集Black Sails迅雷下载
  19. php 5.2 apc,将APC(替代PHP缓存)集成到PHP5(Debian Etch&Apache2)
  20. ArcGIS Pro试用申请

热门文章

  1. 【等价变换】—— 指数对数函数
  2. one hot 编码的实现
  3. Spark 基础 —— RDD(创建 RDD)的两种方式
  4. C++基础::构造函数
  5. 豆瓣python网络数据采集器代理_Python 网络数据采集1
  6. 专科python应届生工资多少-大四应届毕业生,学了两个月Python,找工作感觉好难啊?...
  7. python 下载文件-python爬虫之下载文件的方式总结以及程序实例
  8. python必备基础代码-机器学习算法基础(使用Python代码)
  9. 零基础自学python-零基础如何自学成为Python高手?
  10. 下载python教程-python教程pdf下载