一  类的修饰符

java中的文件结构由大到小为:一个工程,一个工程下可以有许多包,每个包中可以有许多类。

类的修饰符分为         访问权限修饰符          和             非访问权限修饰符

(1)访问权限修饰符:

1 public 公共类修饰符,public修饰的类可以被同一个包中的类访问,也可以被其他包中的类访问。即在此工程下的所有类都可以访问被public修饰的类。Java语言规定,程序的主类必须是公共类。   

例如  public class Animal {...}

2 默认说明。某个类前面没有public修饰,则认为该类使用默认说明,这样的类称为友好类,这样的类只能被同一个包中的类使用,不能被其他包中的类使用。

例如  class Animal {...}

(2)非访问权限修饰符:

1  abstract 抽象类修饰符。用abstract修饰的类是抽象类。其他的类会继承抽象类并实现抽象类中的抽象方法。抽象类不能用new运算符创建对象。

2  final 终结类修饰符,用final修饰的类表示终结类,被final修饰的类不能被继承,而用abstract修饰的类是用来被其他类继承的,所以一个类不可能同时被abstract和final修饰。

二 类中成员变量和成员方法的修饰符

成员变量修饰符

(1)访问权限修饰符:

1  public 公有访问修饰符。该修饰符修饰的变量称为公有变量,如果公有变量又在一个公有类(被public修饰的类)中,那么这个变量可以被所有包中的所有类访问;

如果共有变量在友好类(没有被public修饰的类)中,那么该变量可以被它   所在的类   所在的包中的所有类访问。

2 protected 保护访问修饰符。 该修饰符修饰的成员变量若在一个公有类中,那么它可以被所在的类本身,同一个包中的所有类,其他包中该类的子类访问。

3 默认访问修饰符。如果成员变量前没有访问修饰符,那么它为友好成员,他可以被同一个包中的所有类访问。

4 private 私有访问修饰符。 该修饰符修饰的成员只能被他所在的类访问,任何其他的类都不能访问,包括它的子类。在实际项目中,最好把一个类的实例变量(不被static修饰的变量)设置为private,并在方法中设置setXXX() 和 getXXX()这样的方法进行访问。这样做有助于对客户隐蔽类的实现细节,减少错误,提高程序可修改性。

(2)非访问权限修饰符

1 static 修饰的变量称为静态变量,静态变量是属于类的。可以用类名或是该类的对象名引用静态变量

2 final 修饰的变量称为最终变量,实际上就是java中的符号常量

3 volatile 修饰的变量称为易失变量,这种变量可以被多个线程所控制和修改。

三  成员方法的修饰符

(1) 访问权限修饰符

1 公有访问控制符 public 使用public修饰的方法可以作为该类对外的接口

2 默认访问控制符。具有包访问属性,可以被同一个包内的其他类访问。

3 保护访问控制符 protected 。使用该访问修饰符的方法可以被该类自身,同一个包内其他类,其他包中该类的子类访问。

4 私有访问控制符 private。使用该访问控制符的方法是能被该类自身访问,任何其他类不能访问,包括该类的子类。

(2)非访问权限修饰符

1 abstract 用abstract修饰的方法为抽象方法,抽象方法只有类的声明,没有类的实现。

2 static 用static修饰的方法为静态方法,静态方法属于整个类。

3 final 用final修饰的方法为最终方法,最终方法不能被当前类的子类重新定义。

4 native 用native修饰的方法为本地方法,本类方法通常用其他语言书写方法体,并实现方法功能。

5 synchronized 用synchronized修饰的方法为同步方法,同步方法主要用于多线程共存的程序中的协调和同步。

JAVA中类以及成员变量和成员方法的修饰符的总结的更多相关文章

  1. Java接口成员变量和方法默认修饰符

     Java的interface中,成员变量的默认修饰符为:public static final 所以我们在interface中定义成员变量的时候,可以 1:public static final S ...

  2. java中的类、成员变量、方法的修饰符。

    http://blog.sina.com.cn/s/blog_7ffb8dd501011alw.html http://www.cnblogs.com/lixiaolun/p/4311727.html

  3. [转]Java反射之如何判断类或变量、方法的修饰符(Modifier解析)

    Java针对类.成员变量.方法,有很多修饰符,例如public.private.static.final.synchronized.abstract等,这些修饰符用来控制访问权限或其他特性. 本文就用 ...

  4. 14_java之变量|参数|返回值|修饰符

    01java中的文档注释和制作 * A: 在eclipse使用时,可以配合文档注释,导出对类的说明文档,从而供其 他人阅读学习与使用. 通过使用文档注释,将类或者方法进行注释用@简单标注基本信息.如@ ...

  5. Java学习笔记10---访问权限修饰符如何控制成员变量、成员方法及类的访问范围

    1.Java有三种访问权限修饰符,分别为public.protected.private,还有一种为缺省权限修饰符的情况,记为default.其中,可以由public和default来修饰类:这四种修 ...

  6. 继承的基本概念: (1)Java不支持多继承,也就是说子类至多只能有一个父类。 (2)子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法。 (3)子类中定义的成员变量和父类中定义的成员变量相同时,则父类中的成员变量不能被继承。 (4)子类中定义的成员方法,并且这个方法的名字返回类型,以及参数个数和类型与父类的某个成员方法完全相同,则父类的成员方法不能被继承。 分析以上程

    继承的基本概念: (1)Java不支持多继承,也就是说子类至多只能有一个父类. (2)子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法.(3)子类中定义的成员变量和父类中定义的 ...

  7. Java的类成员变量、实例变量、类变量,成员方法、实例方法、类方法

    总是被这些相似的概念搞晕,查阅了资料后做个小总结,以变量为例,方法辨析类似. 1.多胞胎名字汇总辨析 成员变量和成员方法是范围最大的定义,提到成员变量就可以理解成你所定义在一个类体中的各类变量的统称, ...

  8. 谈谈java中成员变量与成员方法继承的问题

    谈谈java中成员变量与成员方法继承的问题 关于成员变量和成员方法的的继承问题,我也可以做一个小测试,来看看结果. 首先我们先创建一个父类:

  9. Java学习日记基础篇(四)——类,对象之成员变量,成员方法,构造方法

    面向对象(Object Oriented) 一.面向对象杂谈 面向对象(Object Oriented),我的翻译是以物体为目标的,就是说编程的时候是建立一个物体,然后对这个物体进行操作. Java语 ...

随机推荐

  1. STP学习总结

    STP学习总结 STP是广泛应用在二层的具有冗余的网络中用来消除环路的一种机制,当然二层环网中用来消除环路的技术还有RRPP和H3C的smart-link技术等. 一.STP的一些基本概念 STP是I ...

  2. Learning React Native笔记

    React Native作为一个新事物,相关的资料还不多 官方的文档比较简单,缺少一些系统的例子 在对React Native的应用中,迫切的想学习一些别人的最佳实践.所以想通过看书系统的学习下 之前 ...

  3. Cordova CLI源码分析(三)——初始化

    本部分主要涉及以下三个文件 1 cli.js 2 cordova.js 3 events.js 通过前一篇package.json的分析,可以知道,当命令行执行cordova相关命令时,首先调用mai ...

  4. Android中TextView中内容不换行的解决方法

    问题 如果新建的Android项目采用的Android 3.0以上的SDK,同时采用了 <style name="AppTheme" parent="@androi ...

  5. Windows Phone开发(45):推送通知大结局——Raw通知

    原文:Windows Phone开发(45):推送通知大结局--Raw通知 为什么叫大结局呢?因为推送通知服务就只有三种,前面扯了两种,就剩下一种--Raw通知. 前面我们通过两节的动手实验,相信大家 ...

  6. C经典之14-双向链表存储1-10---ShinePans

    #include <stdio.h> #include <conio.h> #include <stdlib.h> //system(); 这个指令须要用到此头文件 ...

  7. 编C语言单元测试框架CUnit方法库

    /*********************************************************************  * Author  : Samson  * Date   ...

  8. 【翻译】Why JavaScript Is and Will Continue to Be the First Choice of Programmers

    花费2半小时,那么最终会被翻译.假设有问题,请提出,毕竟,自己的6不超过级别. 附加链接 Why JavaScript Is and Will Continue to Be the First Cho ...

  9. postgresql数据库配置csv格式的日志输出

    postgresql数据库配置csv格风格日志输出 以下介绍postgresql数据库中关于csv格式日志(pg中一种比較具体的日志输出方式)的设置方法. 1.进入$PGDATA文件夹(pg的安装文件 ...

  10. 利用jsoup爬取百度网盘资源分享连接(多线程)

    突然有一天就想说能不能用某种方法把百度网盘上分享的资源连接抓取下来,于是就动手了.知乎上有人说过最好的方法就是http://pan.baidu.com/wap抓取,一看果然链接后面的uk值是一串数字, ...