关于Java中各种修饰符与访问修饰符的说明
关于Java中各种修饰符与访问修饰符的说明
类:
访问修饰符 | ||
名称 | 说明 | 备注 |
public | 可以被所有类访问(使用) | public类必须定义在和类名相同的同名文件中 |
package | 可以被同一个包中的类访问(使用) | 默认的访问权限,可以省略此关键字,可以定义在和public类的同一个文件中 |
修饰符 | ||
名称 | 说明 | 备注 |
final | 使用此修饰符的类不能够被继承 | |
abstract | 如果要使用abstract类,之前必须首先建一个继承abstract类的新类,新类中实现abstract类中的抽象方法。 | 类只要有一个abstract方法,类就必须定义为abstract,但abstract类不一定非要保护abstract方法不可 |
变量
访问修饰符 | ||
名称 | 说明 | 备注 |
public | 可以被任何类访问 | |
protected | 可以被同一包中的所有类访问 可以被所有子类访问 | 子类没有在同一包中也可以访问 |
private | 只能够被当前类的方法访问 | |
缺省 无访问修饰符 | 可以被同一包中的所有类访问 | 如果子类没有在同一个包中,也不能访问 |
修饰符 | ||
名称 | 说明 | 备注 |
static | 静态变量(又称为类变量,其它的称为实例变量) | 可以被类的所有实例共享。 并不需要创建类的实例就可以访问静态变量 |
final | 常量,值只能够分配一次,不能更改 | 注意不要使用const,虽然它和C、C++中的const关键字含义一样 可以同static一起使用,避免对类的每个实例维护一个拷贝 |
transient | 告诉编译器,在类对象序列化的时候,此变量不需要持久保存 | 主要是因为改变量可以通过其它变量来得到,使用它是为了性能的问题 |
volatile | 指出可能有多个线程修改此变量,要求编译器优化以保证对此变量的修改能够被正确的处理 |
方法
访问修饰符 | ||
名称 | 说明 | 备注 |
public | 可以从所有类访问 | |
protected | 可以被同一包中的所有类访问 可以被所有子类访问 | 子类没有在同一包中也可以访问 |
private | 只能够被当前类的方法访问 | |
缺省 无访问修饰符 | 可以被同一包中的所有类访问 | 如果子类没有在同一个包中,也不能访问 |
修饰符 | ||
名称 | 说明 | 备注 |
static | 静态方法(又称为类方法,其它的称为实例方法) | 提供不依赖于类实例的服务 并不需要创建类的实例就可以访问静态方法 |
final | 防止任何子类重载该方法 | 注意不要使用const,虽然它和C、C++中的const关键字含义一样 可以同static一起使用,避免对类的每个实例维护一个拷贝 |
abstract | 抽象方法,类中已声明而没有实现的方法 | 不能将static方法、final方法或者类的构造器方法声明为abstract |
native | 用该修饰符定义的方法在类中没有实现,而大多数情况下该方法的实现是用C、C++编写的。 | 参见Sun的Java Native接口(JNI),JNI提供了运行时加载一个native方法的实现,并将其于一个Java类关联的功能 |
synchronized | 多线程的支持 | 当一个此方法被调用时,没有其它线程能够调用该方法,其它的synchronized方法也不能调用该方法,直到该方法返回 |
接口
访问修饰符 | ||
名称 | 说明 | 备注 |
public | 所有 | |
无访问修饰符(默认) | 同一个包内 |
转载于:https://blog.51cto.com/nxdxt/52617
相关文章:

buffer IO和direct IO
最近在看很多框架,redis,kafka等底层都涉及到文件IO操作的效率问题,所以查了些资料,看到这篇文章讲的比较明白些,贴出来留存。 链接地址: https://www.ibm.com/developerworks/cn/linux/l-cn-directio/转载…

python 列表使用
下面实现的类似于java中的数组: names[-2]表示实现倒数的第2个参数 names[-3,-1]表示实现-3到-1的值不包含-1 增删改查 下面代码实现列表的增删改查功能: 复制copy 深copy:这个可以copy全部的参数列表(一般不用)。 For循环打印列表…

c语言——求单词个数
#include <stdio.h> #include <stdlib.h>int main() {char str[20];//定义一个字符型一维数组,长度为20int i,num;printf("请输入一行英文:\n");//提示语句gets(str);//输入一个字符串给字符数组strnum str[0]! ? 1:0;//? : 是条件运算符…

C# 各种进制之间相互转换 [ZT]
MessageBox.Show(Convert.ToString(12345, 2)); //10进制转换为2进制MessageBox.Show(Convert.ToString(12345, 8)); //10进制转换为8进制MessageBox.Show(Convert.ToString(12345, 16)); //10进制转换为16进制MessageBox.Show(Convert.ToInt32("1100", 2).ToStri…

慕课《深入理解计算机系统》袁林枫老师章节测试1-9
1以下有关冯.诺依曼结构思想的叙述中,错误的是( C )。 A.计算机内部以二进制形式表示指令和数据 B.程序由指令构成,计算机能自动执行程序中一条一条指令 C.指令和数据都放在存储器中,两者在形式上有差别(…

WCF 和 ASP.NET Web API
地址:https://docs.microsoft.com/zh-cn/dotnet/framework/wcf/wcf-and-aspnet-web-api WCF 是 Microsoft 为生成面向服务的应用程序而提供的统一编程模型。 借助这一模型,开发人员可以构建既能跨平台与现有投资集成又能与现有投资交互的安全、可靠的事务…

php中操作mysql的函数库
发现php中的mysql库是一个函数库 而不是一个类库 使用面向过程的形式组织。mysql_affected_rows -- 取得前一次 MySQL 操作所影响的记录行数 mysql_change_user -- 改变活动连接中登录的用户 mysql_client_encoding -- 返回字符集的名称 mysql_close -- 关闭 MySQL 连接 mysq…

Firetruck UVA - 208
DFS并查集 如果只用DFS的话会超时,用并查集剪枝,和起点终点不联通的点就不用跑了 这题有好多人写了博客,但是我觉得我的代码写的比较通俗易懂所以就贴上来了,我觉得我写代码的目标就是让任何人都能看懂,越小白越好&…

MCSE2003学习之三
安装WIN XPXP的系统中,32位的系统最大支持的RAM为4G,而64位的…

【LeetCode】230#二叉搜索树中第K小的元素
题目描述 给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。 说明: 你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。 示例 1: 输入: root [3,1,4,null,2], k 13/ \1 4\2 输出: 1 示例 2: 输入: root …

runaway深度递归函数测试及相关汇编指令
这是一个深度递归的例子。 #include <stdio.h> #include <stdlib.h>int recurse(int x) {int a[1<<15]; /* 4 * 2^15 64 KiB */printf("x %d. a at %p\n", x, a); a[0] (1<<14)-1;a[a[0]] x-1;if (a[a[0]] 0)return -1;return rec…

codeforce843B Interactive LowerBound
题意:交互式的题,给你n,s, x,链表元素有n个,开始的位置是s,每次询问输入数组的下标,可以知道对应链表上的数和链表下一个数的位置,只能询问2000次,要找到第一个大于等于x的数 题解&a…

[原]SSL 开发简述(Delphi)
一、 简介 现在网上有关SSL的资料较多的是基于VC开发,Delphi的SSL开发资源很少。 本文主要使用OpenSSL为基础,讲述SSL的有关开发流程。OpenSSL功能非常丰富,具体可以去她的官方网看看。可惜没有中文说明。 OpenSSL:htt…

如何每天自动备份 SourceSafe (转)
在Microsoft Visual SourceSafe中提到管理员应该每天或者至少每周备份一次SourceSafe中的内容。这里,我们利用现有的工具实现每天自动备份SourceSafe中的内容。<?XML:NAMESPACE PREFIX O />1. 用到的工具a. ssarc.exe. ssarc.exe是随着SourceSafe提供…

log.net的应用示例(日志)
log.net的应用很多朋友很清楚, 为了使不会用的朋友快速了解,这里我也搜了一些朋友的贴子http://blog.hnce.net/post/246.html后做如下示例,希望能对大家有所帮助: 示例如下: log4net的配置文件link Log4Net.config1&l…

H国的身份证号码(搜索)
个人心得:巧妙利用数字进行维护就好了,深搜还是有点心得的; #1558 : H国的身份证号码I 时间限制:10000ms单点时限:1000ms内存限制:256MB描述 H国的身份证号码是一个N位的正整数(首位不能是0)。此外,由于防伪需要,一个N…

Linux命令之more
more [选项] 文件 […] more是一个过滤器,用于一次浏览一个屏幕的文本。 在more过滤器下有一些常用键,<Space>表示显示下一屏内容;<Enter>表示显示文本的下一行内容;<H>显示帮助;<B>上一页&am…

图的创建及深度遍历
#include <iostream> using namespace std; #include <malloc.h> #include <stdio.h> #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2#define INFINITY INT_MAX //最大值为无穷大 #define MAX_VER…

showModalDialog 传值及刷新
(一)showModalDialog使用例子,父窗口向子窗口传递值,子窗口设置父窗口的值,子窗口关闭的时候返回值到父窗口. farther.html --------------------------- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITL…

简单实现ConfigurationManager.AppSettings[]效果存储系统变量
代码一:存储变量和常量的Class.Code1using System; 2using System.Collections.Generic; 3using System.Text; 4using System.Collections.Specialized; 5 6namespace TestTemp.ConsoleApp 7{ 8 public class Config 9 {10 string[] keys new string[] { "N…

数据结构|-常见数据结构整理
归纳总结了一下数据机构的常用类型,个人理解常用的数据机构可以分为线性表、栈、队列、树,线性表包括顺序表和链表,栈和队列应当属于特殊的线性表,有几个概念和误区需要先说一下 顺序表和线性表的关系: 线性表是逻辑概…

数据结构课程上机参考代码
SqList #include <iostream>using namespace std;#include <malloc.h>#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2typedef int Status; /* int是函数的类型,其值是函数结果状态代码,如OK等 */…

我的路子 - 发现游戏为模型的软件架构方式
总觉得如果一个内容被深刻地理解了,那么当在他口中说出来的时候,应该是很简单才对。 所以一直觉得,编程里那些不容易理解的,需要记住很多内容的东西都是有缺陷的。自己又比较自我认可强,看不到别人的角度,表…

Vim对中文编码的支持[转]
Vim对中文编码的支持[转] Vim对中文编码的支持 1、支持中文编码的基础 Vim要更好地支持中文编码需要两个特性:multi_byte和iconv,可以用|:version|命令检查当前使用的Vim是否支持,否则的话需要重新编译。 2、影响中文编码的设置项 Vim中有几个…

C/C++中extern关键字详解
1 基本解释 :extern可以置于变量或者函数 前,以标示变量或者函数的定义在别的文件中 ,提示编译器遇到此变量和函数时在其他模块中寻找其定义 。此外extern也可用来进行链接指定。 也就是说extern有两个作用,第一个,当它与"C&…

关于WPF的ComboBox中Items太多而导致加载过慢的问题
【WFP疑难】关于WPF的ComboBox中Items太多而导致加载过慢的问题 周银辉我的一个同事在加载字体列表时遇到了一个让人崩溃的问题:由于系统字体可能较多(可能有好几百项),导致使…

什么是3G通信
现在“3G通信”快要成为人们嘴上的口头禅了,那么您知道到底什么是3G通信吗?所谓3G,其实它的全称为3rd Generation,中文含义就是指第三代数字通信。1995年问世的第一代数字手机只能进行语音通话;而1996到1997年出现的第…

springMVC入门截图
mvc在bs系统下的应用 ---------------------------------------------------- 在web.xml中配置前端控制器(系统提供的一个servlet类 只需配置即可 无需程序员开发 ) -------------------------------------------------------------- ----------------…

Linux环境下的网络编程
本文介绍了在Linux环境下的socket编程常用函数用法及socket编程的一般规则和客户/服务器模型的编程应注意的事项和常遇问题的解决方法,并举了具体代 码实例。要理解本文所谈的技术问题需要读者具有一定C语言的编程经验和TCP/IP方面的基本知识。要实习本文的示例&am…

WEBSHELL恶意代码批量提取清除工具
场景 使用D盾扫描到WEBSHELL后可以导出有路径的文本文件。 最后手动去把WEBSHELL复制到桌面然后以文件路径命名,挨个删除。 D盾界面是这样的。 手动一个个找WEBSHELL并且改名效率太低,使用MFC写一个小工具方便去现场以后查WEBSHELL的工作。 技术思路 D盾…