java类的讲解_【java 基础】java类的权限讲解
java类权限有四种,分别是public,protected,private和默认的权限。其中前三个权限是有明确定义的修饰符的,而默认的权限没有明确的修饰符(我们可以称之为default),在定义类,方法或者属性时,不用写任何修饰符。其中权限的作用域如下面表格所示:类权限作用域
Public权限
看下面一段代码
//在altsd.test包下有一个类Father
package altsd.test;
public class Father {
public int age;
int legs;
protected int eyes;
private int hhh;
private int getHhh(){
return hhh ;
}
}
//另一个包altsd.test1下有个Luren,与Father没有任何关系
package altsd.test1;
import altsd.test.Father;
public class Luren {
Father father = new Father();
public int getAge(){
return father.age;
}
}
我解释一下上面的代码,在Luren类中我们只返回了Father.age成员,不是说我不想返回Father的其他成员,是因为Luren和Father在不同的包,又不是父子关系,所以在Luren类中只能有访问Father的age成员,因为age的权限是public的。
总结:public权限的作用域是任何包下任何类都可以访问
protected权限
看下面的代码
另一个包altsd.test1下有个Child1,继承Father类
package altsd.test1;
import altsd.test.Father;
public class Child1 extends Father {
public int getAge(){
return super.age;
}
public int getEye(){
return super.eyes;
}
}
在这个类中,我们只能访问到父类的age和eyes成员,age的权限是public,这个在上面的代码中已经解释过了;eyes成员的权限是protected,因为Child1继承Father,虽然不在同一个包中,但也能访问eyes成员。
总结:protected权限的作用域是在只要有继承关系,就可以访问父类中的protected成员
default成员
看下面的代码
//在altsd.test包下有一个类Ancle,没有集成Father类
package altsd.test;
public class Ancle {
Father father = new Father();
public int getAge(){
return father.age;
}
public int getEye(){
return father.eyes;
}
public int getLegs(){
return father.legs;
}
}
在这个类中,Ancle可以访问Father中的age,eyes,legs成员,age是public,eyes是protected,legs是default。public和protected上面已经讲过。因为Ancle和Father是属于同一个包的,所以Ancle中可以访问Father的legs成员。
总结:默认权限(default)权限的作用域是同一个包下。
private权限
现在就只剩pravate权限了,只是我们所有的情况下都无法访问到hhh这个成员。我们看上面的权限作用域表格对private权限的定义:类本身。返回去看Father类中有一个getHhh()方法,这个方法中成功访问了hhh成员。现在应该能明白了吧。出去类本身可以访问private成员,一切引用类对象的作用域都访问不到private成员。
java类的讲解_【java 基础】java类的权限讲解相关推荐
- java 线程 操作系统线程_线程基础:线程(1)——操作系统和线程原理
1.概述 我在写"系统间通信技术专栏"的时候,收到很多读者的反馈.其中有一部分读者希望我抽空写一写自己关于对Java线程的使用经验和总结.巧的是,这个月我所在的技术团队也有很多同事 ...
- java中override快捷键_【基础回溯1】面试又被 Java 基础难住了?推荐你看看这篇文章。...
本文已经收录自 https://github.com/Snailclimb/JavaGuide (59k+ Star):[Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识. ...
- java h5在线音频_[语音技术]java+H5的录音类实例(1)
看了某位仁兄的分享的关于C#的window平台的录音分装,有兴趣同学请访问楼下地址 https://ai.baidu.com/forum/topic/show/492634 于是,我也整理了自己项目中 ...
- java 电池类类代码举例_教案:Java第7章 类的方法
授课教师:牟勇 课时:100分钟 l 本章技能目标 n 会定义和使用类的方法 n 理解变量作用域 n 会创建包组织Java工程 n 会添加类方法的JavaDoc注释 n 会阅读JavaSE6文档 l ...
- 没有基础的人学java开发难吗_零基础的人怎么学习Java
编程语言Java,已经21岁了.从1995年诞生以来,就一直活跃于企业中,名企应用天猫,百度,知乎......都是Java语言编写,就连现在使用广泛的XMind也是Java编写的.Java应用的广泛已 ...
- 饥荒时用java写的吗_【图片】类与对象面向对象编程【饥荒mod制作吧】_百度贴吧...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 ----------深入饥荒的类 上一节讲完了基本概念,如果还心存疑虑可以百度搜索"类与对象"以获取更多信息 本节将深入研究饥荒代码中 ...
- java unsafe获取指针_【实战Java高并发程序设计 1】Java中的指针:Unsafe类
是<实战Java高并发程序设计>第4章的几点. 如果你对技术有着不折不挠的追求,应该还会特别在意incrementAndGet() 方法中compareAndSet()的实现.现在,就让我 ...
- java uml 类图 加号_UML建模基础 UML类图的组成元素和关系解析
本文和大家重点讨论一下在UML建模中UML类图的java代码表现,主要包括UML类图元素和关系两大部分内容,相信通过本文的介绍你对UML类图的概念一定会与明确的认识. 在UML建模中UML类图的jav ...
- 深入理解Java虚拟机知乎_深入理解Java虚拟机(类文件结构)
深入理解Java虚拟机(类文件结构) 欢迎关注微信公众号:BaronTalk,获取更多精彩好文! 之前在阅读 ASM 文档时,对于已编译类的结构.方法描述符.访问标志.ACC_PUBLIC.ACC_P ...
- java报错空指针异常_夯实基础:认识一下这10 个深恶痛绝的 Java 异常
异常是 Java 程序中经常遇到的问题,我想每一个 Java 程序员都讨厌异常,一 个异常就是一个 BUG,就要花很多时间来定位异常问题. 什么是异常及异常的分类请看这篇文章:异常小结:上一张图搞清楚 ...
最新文章
- Oracle 12C -- 清空audit记录
- codevs 1376 帕秋莉•诺蕾姬
- 他89岁,拿下人生第3个博士学位,横跨医学物理学,只为“实现儿时梦想”
- Ajax技术的基本原理
- SHA-1算法的C语言实现(源码来自网络)
- 黑洞照片背后的女人:她的算法让数据“拼”成了照片
- [转]面向对象的三个基本特征
- java获取连接池方式_java – 如何测试连接池
- DSP实验报告四:GMSK 调制与解调
- 和最好的朋友,创最好的事业|巴菲特与芒格的绝世友情
- 中职学校计算机大赛方案,中等职业学校电子技能赛的活动策划方案参考
- android backtrace,高通android q 通过backtrace使用addr2ine工具定位crash问题记录
- 商业模式分析——3W2H分析法
- 如何在CAD中加载卫星地图并作街道与建筑绘制
- 转型经验分享|我为什么放弃做VC投资,去做自媒体?
- rcs仿真matlab,雷达截面积(Radar Cross Section,RCS)(MATLAB部分仿真+Code)
- 什么是数据指标管理,如何建立指标管理体系
- 自己建服务器 语音盒子_自建语音服务器
- 是利用计算机技术实现,计算机技术在智慧交通建设中的应用
- 阿里巴巴收买美国电子商务效劳商warkey
热门文章
- python常考题_Python语言基础考察点:python语言基础常见考题(一)
- Java tate只要年月日,Java初學者入門必須掌握的30個基本概念
- python怎么调用方法_python中怎么调用自己的方法
- ubuntu系统如何切换到root用户登录
- why在重写equals时还必须重写hashcode方法
- 终于可以摆脱 Pipenv 这坑货了
- 卸载 PyCharm!这才是 Python 小白的最理想的 IDE
- 一文看懂Python的控制结构:for、while、if…都有了
- java实现dvd租赁系统_Java编写汽车租赁系统
- 虚拟机当作设置服务器,虚拟机当作设置服务器