Java的访问控制

   类内部  本包(实例、类变量和方法)  子类(任何位置) 外部包(实例、类变量和方法)
public    √  √  √  √
protected   √  √  √  ×
default    √  √  ×  ×
 private   √  ×  ×  ×

访问控制只是编译时的一种限制行为。运行时,通过反射机制,不存在任何限制。

时间: 2024-10-18 02:19:26

Java的访问控制的相关文章

JAVA 基础 访问控制权限

包(package) package的作用 当编写一个JAVA源码文件时,此文件通常被称为编译单元.每个编译单元都必须有一个后缀名 .java . 而在编译单元中可以有一个 public 类,该类的名称必须和文件的名称相同.文件中允许有其他类,但是不能是public类. 当编译一个 .java 文件时,文件中的每个类都会有一个后缀为 .class 的输出文件,文件名和类名相同. Java可运行程序是一组可以打包压缩为一个Java文档文件(JAR,使用Java的jar文档生成器)的.class文件

java的访问控制(包、访问修饰符、修饰符)

一.     java的类包 编写好一个源程序后,首先要执行javac命令进行编译源文件,并生成与源文件同名后缀为“.class”的字节码文件(类文件),该类文件与源文件默认在同一个目录中.该类文件是由用户创建的,而在java编程环境中,java本身提供了大量的类文件,在编程时可以直接引入使用,极大方便了程序的编写. 包的定义:是Java编程的基础,包蕴涵于标准类的体系结构和用户自己的程序中,包是有唯一命名的类的集合.在java中,包分为用户包和系统包. 一)用户包:即由用户在项目中创建的包.

C++ VS Java 系列 —— 访问控制

访问控制 C++和Java均具有封装概念,所以也有面向对象所具有的封装中的访问控制,这些访问控制在C++中只区分类内.类外.父子类,而在Java中进行了合理的保留和舍弃,将区分扩展到了包级,类似于C++中的命名空间. 一.针对类的成员访问控制符 C++:private(class默认).protected.public(struct默认) Java:private.package(默认).protected.public Java比C++多了一个默认的访问控制package,即包访问控制,即类内

Java访问控制权限

Java的访问控制权限相比于C++等语言可能稍微复杂一点,不过也不难理解.Java的访问控制权限分为两块--"类或接口的访问控制权限"与"变量和方法的访问控制权限". 1.类或接口的访问控制权限     类或接口的访问控制权限是指能不能用该类建立对象,接口能不能被实现等等.能够修饰类或接口的访问控制权限的修饰符(modifier)只有两个--public和friendly.不过,值得一说的是friendly并不是Java的关键字,它只是一个习惯叫法,指的是"

详解Java中的访问控制修饰符(public, protected, default, private)

Java中的访问控制修饰符已经困惑笔者多时,其中较复杂的情况一直不能理解透彻.今天下定决心,系统.全面地研究Java中的访问控制修饰符的所有方面,并整理成这篇文章,希望有同样疑惑的读者读完后能有所收获.如果文章中出现错误,欢迎评论指出,共同交流~ 说在前面:这篇文章只研究Java中访问控制修饰符声明类的变量/方法的情况. 先抛出结论: * 成员变量/方法的访问权限 *                                        private        default  

JAVA软件工程师笔试试题

JAVA软件工程师笔试试题 (考试时间:120分钟 试卷分值:150分 ) 一. 逻辑推理题[10分] 1.甲.乙.丙.丁四位同学中有一位同学为海啸灾区捐款1000元,当老师询问时,他们分别这样回答: 甲:这1000元不是我捐的 乙:这1000元是丁捐的 丙:这1000元是乙捐的 丁:这1000元不是我捐的 这四人中只有一个人说了真话,由此可见这1000元是谁捐的( ).[2分] A.甲 B.乙 C.丙 D.丁 2. 甲.乙.丙三人是同一家公司的员工,他们的未婚妻A.B.C也都是这家公司的职员.

Java再学习-反射机制

首先说到反射,大家肯定不会陌生,如果不知道反射,相信那些市面上常用的主流框架就不会出现了.废话不说,上主题! Java反射机制 运行时 判断任意一个对象所属的类 构造任意一个类的对象 判断任意一个类所具有的成员变量和方法 调用一个对象的方法 注意点:运行时,而不是编译时 首先概念性的东西,小编就不细说了,想了解的直接问度娘吧,直接上干货吧. 通过反射来进行方法调用的具体步骤: 1.首先要获取Class对象(手段比较多,例如通过forname手段和InvokeTester.class手段) 2.如

Java学习笔记—第四章

第四章  变量和常量 1. Java的访问控制修饰符 使用访问控制修饰符可以限制数据的访问权限.访问控制修饰符有4个等级:private.protected.    public和默认(不指定修饰符). 类型/权限 private protected public 默认 所属类 可访问 可访问 可访问 可访问 同一个包中的其他类(包括子类) 不可访问 可访问 可访问 可访问 不同包中的子类 不可访问 可访问 可访问 不可访问 不同包中的非子类 不可访问 不可访问 可访问 不可访问 2. 变量:变

Java反射API研究(2)——java.lang.reflect详细内容与关系

对于最新的java1.8而言,reflect中接口的结构是这样的: java.lang.reflect.AnnotatedElement java.lang.reflect.AnnotatedType java.lang.reflect.AnnotatedArrayType java.lang.reflect.AnnotatedParameterizedType java.lang.reflect.AnnotatedTypeVariable java.lang.reflect.Annotated