private访问权限java_Java中的访问权限控制

Java提供了public, private, protected 三个访问权限修饰词,提供了以下四种访问权限控制机制:

1、包访问权限;

2、Public访问权限;

3、Private访问权限;

4、Protected访问权限;

1、包访问权限

包访问权限是Java为了便于程序员开发而给定的一种权限选择。

当方法或域未给定访问权限限制符时,其默认具有该权限。具有该权限的方法和域成员,在包内是完全可见的(注意要与其对象依附在一起

),而包外则不可见。

这有点类似于C++中友元类,友元类见彼此可见,以简化访问。

Package accesscontrol

//Animal.java

public class Animal

{

void bark()

}

Package accesscontrol

//Test.java

public class Test

{

main()

{

Animal a= new Animal();

a.bark();//此处直接访问了Animal类中的bark()方法

}

}

由于Animal类和Test类都被打包在了同一个Package下,Animal中的bark()方法为包访问权限,故对类Test可见。

对java文件中的类也是如此,若未指定限制符,其默认为包访问权限,只能在包内被使用。包外是无法利用其生成对象的(不可见)。

注意:当决定一个类对包外可见的时候,除了要将类得访问限定符改为public意外,自定义的构造器限定符也必须修改为public,不然将导

致外部不可见。

2、public 权限

当在方法或域前面显式的给定public限定符的时候,其具有该权限控制。

public权限是最为宽松的一种权限控制,对包的内、外部都是完全可见的。

java最多只允许一个java文件中出现一个public类(该类向外提供接口,并与该java文件的名称完全一致)。

当一个java文件中无一个Public类时,表明其仅供包内使用,对外界不可见!

注意:类只有包访问权限和public访问权限两类。

3、Private访问权限

Private是访问限定最为严格一种权限。

当方法或域为private权限时,表明其只针对该类的内部可见,类的外部(包括同一包内的其它类)是不可见的。

//Animal.java

public class Animal

{

private void bark()

}

Package accesscontrol

//Test.java

public class Test

{

main()

{

Animal a= new Animal();

a.bark();//此处将造成编译错误,bark()方法为private方法,仅对Animal类 内部可见,现在在Test类内部。

}

}

4、protected访问权限

protected权限是一种严格程度介于public和private之间的权限,具有prtoected权限的域和方法只能对其自身和导出类可见。

在面向对象的设计当中,最常用的为public和private访问权限两种。

一般情况下将域定义为private,将方法定义为public。外界使用该类时,通过public方法使用其接口,而具体的域成员则对外部屏蔽,只

能通过类提供的接口间接访问。

public class Dog {

private int age=0;

public setAge(int num)

{

age=num+1;

}

}

此处,age域对外部不可见,要想对其进行操作,必须使用Dog类提供的接口setAge(int num)。

注意到setAge的方法体age=num+1;对用户给出的年龄加1了以后再修改了age属性,这种修改对使用者是不可见的,有时又是非常的必要的!

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

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

相关文章

java查看蓝牙mac地址_Java如何获取主机的MAC地址?

以前,为了获取MAC地址,我们需要使用本机代码作为解决方案。在JDK 1.6中,java.net.NetworkInterface类中添加了一个新方法,该方法为getHardwareAddress()。package org.nhooo.example.network;import java.net.InetAddress;import …

java空心字木塔_我国七个千年古塔:第四个空心没有塔顶,最后一个是木塔无钉无铆...

1、崇圣寺三塔,云南大理,公元824—839年崇圣寺三塔是一个三塔三阁组成的建筑群,最大的主塔又名千寻塔。是中国现存层数最多的古佛塔,拥有16层。崇圣寺三塔历经30多次地震不倒,极其顽强。2、大雁塔,陕西西安…

java8 ie_Java8语法糖之Lambda表达式_Hudie.的博客-CSDN博客

原文作者:编程一只蝶原文标题:Java8语法糖之Lambda表达式发布时间:2021-02-16 13:08:40一、Lambda表达式简介Lambda表达式,是Java8的一个新特性,也是Java8中最值得学习的新特性之一。(另一个新特性是流式编程。)Lambda…

python中的event_Python event

最新项目游戏感用于SteelSeries GameSense 3.8.x的Python库安装这个包有两个不同的版本。一个支持普通的同步函数调用,另一个支持python的异步功能。要安装同步版本,请运 ...2021-03-02已阅读: n次此模块验证事件模块中的电话号码,就像base_p…

hadoop 运行java类_hadoop运行java类

使用hadoop运行自己写的java类报错:/home/hadoop/bin/hadoop MaxTemperature /home/hadoop/input/sample.txt outputException in thread "main" java.lang.NoClassDefFoundError: MaxTemperatureCaused by: java.lang.ClassNotFoundException: MaxTemper…

centos的mysql怎么删用户_linux/centos给Mysql创建用户、授权、查看、删除、修改密码、撤...

linux/centos给Mysql创建用户、授权、查看、删除、修改密码、撤linux/centos给Mysql创建用户、授权、查看、删除、修改密码、撤销权限linux/centos给Mysql创建用户、授权、查看、删除、修改密码、撤销权限root权限高,安全性考虑,一般只允许本地(本机)访问…

采取 过滤 php_这3种php高级过滤了解一下,很实用!

在php中有很多的过滤,可以对输入的字符串进行过滤,同时也可以对邮件地址进行过滤,接下来我要讲的是php中的3种高级过滤,在开发中很实用。第一种:过滤数值范围在php经常要接收各种数据,其中数值是非常普遍的…

java打乱一组正序数字,Leetcode︱4.Median of Two Sorted Arrays寻找两个正序数组的中位数.java...

题目给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。示例 :输入:nums1 [1,3], nums2 [2]输出:2.00000解释:合并数组 [1,2,3] ,中位数 2说明:nums1.leng…

php中的oop思想,避免OOP的形式,POP的思想_PHP

避免OOP的形式,POP的思想_PHP避免OOP的形式,POP的思想好久没发技术性文章了,今天在21PHP里看到有位兄弟发了这贴子,转了过来.对加强OOP的学习有些用----------------------------------------------------------避免OOP的形式,POP的思想随着PHP对OOP(面向对象编程)支持的增强以…

吃PHP小孩智力好,这7种鱼千万不能给孩子吃,会影响孩子的智力!

所以,给宝宝添加鱼类时一定要注意,有7种鱼含有大量金属元素,是千万不能给宝宝吃的!1罗非鱼罗非鱼深青色的外表有几分像鲫鱼。由于罗非鱼的成长周期较长,它们体内汞的含量也就相比其他鱼偏高,小朋友吃罗非鱼…

java监控rabbitMq服务状态,spring cloud 的监控turbine-rabbitmq的示例

前提是你已经有了注册中心,然后搭建一个基础spring cloud 服务,并配置注册服务等等前提环境搭建接下来描述的服务提供者和服务调用者的配置都是一样的,来自《spring cloud 与 docker微服务架构实战》的读后的个人总结.pom文件中需要引入spring-cloud-starter-hystrix/spring-cl…

支付宝php40247,支付宝APP支付 显示 系统繁忙 请稍后再试 ALI40247

PHP服务端生成地址传给IOS端调用 一直显示系统繁忙 请稍后再试 ALI40247 密钥也正常 也按照官方说明来走。官方的PHP端SDK是错误的 根本不加密biz_content 字段随后百度找不到相关的资料 只有人说换成 1.0版本 也就是 移动支付移动支付相关文档 https://doc.open.alipay.com…

java jlabel构造方法,浅谈标签和JLabel类构造方法 原创

搜索热词标签有 JLabel 类定义,它的父类为 JComponet 类。标签可以显示一行只读文本、一个图像或带图像的文本。它并不能产生任何类型的事件,只能简单地展示图片和文本,但是可以使用标签的特性指定标签上文本的对齐方式。JLabel类提供了多种构…

php改变iframe的src,js动态改变iframe的src属性

今天在Chrome下显示如下的iframe,src设置为空,但打开页面时iframe一直处于刷新状态,看了下面的博文,觉得是不是默认不显示时src应该写成about:blank,明天回去测试下,回来更新结果写一个,src地址…

java弹球轨迹运动解说,动态弹球的实现 加入了多线程技术-javaSE游戏准备工作

动态弹球的实现 加入了多线程技术--javaSE游戏准备工作任务描述:实现了动态弹球的功能,对于有弹球功能的SE游戏奠定了基础。package 运用线程技术的小球;import java.awt.*;import java.awt.event.*;import java.awt.geom.*;//不清楚这个有什么用import java.util.*…

Java语言矩形与立方体的继承,沈阳师范大学大一下册C++语言PTA题目集以及答案(编程题篇)...

沈阳师范大学大一下册C语言PTA题目集以及答案(编程题篇)7-1 测试c (20分)倒序输出从控制台输入的n个整数输入格式:第一行输入一个数n,代表行数依次输入n个整数输出格式:将n个整数倒序输出输入样例:31 2 3输出样例:321#includeint main(){int n,i;std::cin>>i;…

php启动 大量sess文件,关于PHP中Session文件过多的问题

PHP的默认机制:每一次php请求,会有1/100的概率(默认值)触发“session回收”。如果“session回收”发生,那就会检查/tmp/sess_*的文件,如果最后的修改时间到现在超过了1440秒(gc_maxlifetime的值),就将其删除&#xff0…

MATLAB求图片两圆圆心,求助:如何求此图中两圆的圆心距?

对于你给出的图片,我根据之前提到的思路编写了以下程序。感觉还蛮准的。这个程序只能用于两圆相交的情况。当小圆在大圆内部时,需要在其中加以判定。仅供参考。clear;clcc imread(1.jpg);cc c;tic[m n] size(c);for i1:mindex find(~c(i,:));if leng…

php-fpm 启动拥有者,php-fpm 的各种启动方式

启动 php-fpm 最简单的操作:/usr/local/php/sbin/php-fpmphp 5.3.3 以后的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,所以不要再看这种老掉牙的命令了,需要使用信号控制:maste…

java比较时间的先后utc时间,日期、时间与UTC

传统日期的局限人类在对时间的测定上存在一个进化的过程,最早通过观察天体的自转与公转来确定时间,比如地球自转一周为一天,月球公转一周为一月,地球公转一周为一年。我们先考虑天和年,他们之间就像数学一样存在一个粗…