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的声明和访问介绍的更多相关文章

  1. Java类的声明和访问介绍

    1.类的声明 类本身的声明:对类的声明来说,主要包括类的访问权限声明和非访问修饰符的使用.对于一个普通的Java类(POJO)来说,主要的访问权限修饰符只有两个public和默认权限,内部类可以有pr ...

  2. Java基础-包(package)的声明与访问

    Java基础-包(package)的声明与访问 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.包的概念 Java中的包,其实就是我们电脑系统中的文件夹,包里存放的是程序员生成的 ...

  3. java ->包的声明与访问

    包的声明与访问 包的概念 java的包,其实就是我们电脑系统中的文件夹,包里存放的是类文件. 当类文件很多的时候,通常我们会采用多个包进行存放管理他们,这种方式称为分包管理. 在项目中,我们将相同功能 ...

  4. Java动态程序设计:反射介绍

    使用运行的类的信息使你的程序设计更加灵活 反射授予了你的代码访问装载进JVM内的Java类的内部信息的权限,并且允许你编写在程序执行期间与所选择的类的一同工作的代码,而不是在源代码中.这种机制使得反射 ...

  5. java基础-Arrays类常用方法介绍

    java基础-Arrays类常用方法介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Array类的概念 此类包含用来操作数组(比如排序和搜索)的各种方法.需要注意,如果指定 ...

  6. java基础-System类常用方法介绍

    java基础-System类常用方法介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.System类概念 在API中system类介绍的比较简单,我们给出定义,system中 ...

  7. Java并发性和多线程介绍

    java并发性和多线程介绍: 单个程序内运行多个线程,多任务并发运行 多线程优点: 高效运行,多组件并行.读->操作->写: 程序设计的简单性,遇到多问题,多开线程就好: 快速响应,异步式 ...

  8. java基础-Eclipse开发工具介绍

    java基础-Eclipse开发工具介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 所谓工欲善其事必先利其器,即将身为一名Java开发工程师怎么能没有一款好使的IDE呢?今天就 ...

  9. java基础-Idea开发工具介绍

    java基础-Idea开发工具介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 之前给大家介绍过一款Java的IDE叫eclipse,有些功能用起来不是很得心应手,尤其是在导报的 ...

随机推荐

  1. IOS学习笔记 O2

    第二章 Objective-C语言基础进阶 一.Objective-C语言写法简化 利用@property快速生成setget方法 1.首先来复习一下setget写法,这是上一节笔记写的setget方 ...

  2. Activity设置全屏的三种方法

    1.super.onCreate(savedInstanceState)方法之前调用:            setTheme(android.R.style.Theme_Light_NoTitleB ...

  3. 将 project.json 项目转换为 Visual Studio 2015 解决方案

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  4. Java程序,取随机数的两种实现方法

    1.随机数的第一种程序(取0-9的整型随机数) public class random_1 { public static void main(String[] args) { Random r=ne ...

  5. 使用 AForge.NET 做视频采集

    AForge.NET 是基于C#设计的,在计算机视觉和人工智能方向拥有很强大功能的框架.btw... it's an open source framework. 附上官网地址: http://www ...

  6. iOS开发-二维码的基本使用

    二维码在生活中出现的频率越来越多了,大街小巷各个角落,它的出现更大的作用是代替功能单一的传统条形码,但是通常很多人第一次见到这个都不清楚这是干嘛用的.最初第一次见到可能就是买到的商品上有一个数字的条形 ...

  7. babylonjs

    A Babylon.js Primer Table of contents Babylon.js WebGL Game Creation System! The Browser Useful Link ...

  8. 8.1 消息通信 EventBus

    EventBus是一个事件发布和订阅的框架.EventBus是一款针对Android优化的发布/订阅事件总线.主要功能是替代Intent,Handler,BroadCast 在Fragment,Act ...

  9. Linux内核--网络栈实现分析(八)--应用层发送数据(下)

    本文分析基于Linux Kernel 1.2.13 原创作品,转载请标明http://blog.csdn.net/yming0221/article/details/7547826 更多请查看专栏,地 ...

  10. MVC模式下如何实现RegisterStartupScript等功能

    本文源于http://www.achtmaal.com/blog/asp-net-mvc-and-registerclientscriptinclude,非常感谢原文作者的智慧和分享 Register ...