Java类的声明和访问介绍
1、类的声明
类本身的声明:对类的声明来说,主要包括类的访问权限声明和非访问修饰符的使用。对于一个普通的Java类(POJO)来说,主要的访问权限修饰符只有两个public和默认权限,内部类可以有private权限。非访问修饰符主要包括abstract,final和strictfp.
(1) 这里先讨论非访问修饰符,下面是基本的规则:
abstract:声明一个类是抽象的。
final:声明一个类是可以被继承的。
strictfp:声明一个类中所有的方法在处理浮点数时遵循IEEE754规则。
由上面的这些规则可以得出一个结论:一个类不可能既声明为abstract的,又声明为final的。抽象类的实质即为继承它的类定义了一组行为准则,任何继承它的类都必须实现抽象类所定义的抽象方法,抽象类不可以实例化,抽象类中可以不包含抽象方法,但是含有抽象方法的类一定要声明为抽象类。
final类表示一个类似不能被继承的。如果你不希望一个类的行为被改变,或者说该类的行为是整个系统的基础,就跟数学中的数字一样的话,就可以把这个类声明为final的。
(2) 类的访问权限修饰符:
首先需要弄清楚的是类的访问包括哪些方面:
一个类中创建另一个类的实例; 一个类继承自另一个类;一个类中的方法访问另一个类的方法和变量。类的访问权限声明为public的,表示该类可以被任意的类访问,当然,在其他类中访问该类类的访问权限为默认权限,则表示和该类处在同一个包下的类可以访问它 ,此处注意以下比较容易忽视的地方:
源文件一:
package cert;
class test1 {}
源文件二:
package cert2;
import cert.test1;
public class test2 extends test1{}
这里test2类会产生错误,因为test1是默认访问权限,test2 使用继承的方式访问test1,由于这两个类不在同一个包中,因此test2是无法看到test1 的。
Java类的声明和访问介绍的更多相关文章
- Java的声明和访问介绍
1.类的声明 类本身的声明:对类的声明来说,主要包括类的访问权限声明和非访问修饰符的使用.对于一个普通的Java类(POJO)来说,主要的访问权限修饰符只有两个public和默认权限,内部类可以有pr ...
- java ->包的声明与访问
包的声明与访问 包的概念 java的包,其实就是我们电脑系统中的文件夹,包里存放的是类文件. 当类文件很多的时候,通常我们会采用多个包进行存放管理他们,这种方式称为分包管理. 在项目中,我们将相同功能 ...
- 测试 Java 类的非公有成员变量和方法
引言 对于软件开发人员来说,单元测试是一项必不可少的工作.它既可以验证程序的有效性,又可以在程序出现 BUG 的时候,帮助开发人员快速的定位问题所在.但是,在写单元测试的过程中,开发人员经常要访问类的 ...
- 【转】Spring学习---Bean配置的三种方式(XML、注解、Java类)介绍与对比
[原文]https://www.toutiao.com/i6594205115605844493/ Spring学习Bean配置的三种方式(XML.注解.Java类)介绍与对比 本文将详细介绍Spri ...
- Java类和类成员的访问权限修饰符
一:访问修饰符: 1.省略访问修饰符 具有默认的访问特性,即具有包访问特性,只能被同一个包中的类使用. 2.public访问修饰符 用于说明类和类的成员的访问权限.这种类叫公有类.在一个文件中只能有一 ...
- Java基础-包(package)的声明与访问
Java基础-包(package)的声明与访问 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.包的概念 Java中的包,其实就是我们电脑系统中的文件夹,包里存放的是程序员生成的 ...
- 比较C++、Java、Delphi声明类对象时候的相关语法
同学们在学习的时候经常会遇到一些问题,C++.Java.Delphi他们到底有什么不一样的呢?今天我们来比较C++.Java.Delphi声明类对象时候的相关语法.希望对大家有帮助! C++中创建对象 ...
- java全栈day12----final static 匿名对象 内部类 包的声明与访问
final关键字概念 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承, 或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后, ...
- java类的访问权限
1.解析 Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符. private: Java语言中对访问权限限制的最窄的修 ...
随机推荐
- IDEA中SVN的使用
文件红色:表示文件没有添加到服务器 绿色:表示没有更新新的修改到服务器 普通黑色:表示和服务器同步 1.如何让修改的文件的父文件也变成蓝色(未提交的状态) 2.其中的1.6 format 1.7 fo ...
- easyui 验证动态添加和删除问题
$.extend($.fn.validatebox.methods, { remove: function(jq, newposition){ return jq.each(function(){ $ ...
- Scala学习笔记(三):基础知识
有了可运行的环境,就需要写一些简单的语句来认识一下Scala,本文没有写那么详细,只是为了方便查看.唤起回忆 (1)变量的定义方法 Scala有两种变量 var val 注意:在解释器中,可以用一个之 ...
- Anytime项目开发记录2
注册,登陆于密码找回.这是这次记录的主要内容. 首先,我们来看类图: 因为一直在改,所以与第二篇介绍项目框架时的图会有一些不一样. 代码都是非常简单的. 由于在注册和登陆这里,需要弹出一些对话框告诉用 ...
- 【功能笔记】Ubuntu查看系统资源占用(内存,cpu和进程) {转载}
转载自http://bluexp29.blog.163.com/blog/static/33858148201071534450856/ linux真是太强大了. 查看ubuntu的资源占用的命令为$ ...
- 6.1 python+appium元素定位方式(登录app)
1.0.0 :常见的十种元素定位方式 .driver.find_element_by_id() #id定位 .driver.find_element_by_name() #name定位(已经凉 ...
- tensorflow Importing Data
tf.data API可以建立复杂的输入管道.它可以从分布式文件系统中汇总数据,对每个图像数据施加随机扰动,随机选择图像组成一个批次训练.一个文本模型的管道可能涉及提取原始文本数据的符号,使用查询表将 ...
- thinkPHP form表单提交参数无法获取
后台打印获取的数据为empty, 找了半天,是因为 input标签没有写name, 真是醉了!记一下,免得以后再犯错了.
- 树莓派配置 USB 无线网卡
树莓派配置 USB 无线网卡来上网的过程. 本人使用的USB无线网卡型号:EP-N8508GS(树莓派专用型号) 一.检查 USB 无线网卡是否已经正确识别 将无线 USB 网卡插入树莓派后启动树莓派 ...
- C++STL——vector
一.相关定义 vector 数组 随机访问迭代器 快速随机访问元素 尾部进行快速随机地插入和删除操作 特征: 能够存放任意类型: 访问vector中的任意元素或从末尾添加元素都可以在常量级时间复杂度内 ...