java 访问控制修饰符

合集下载

Java中的访问控制修饰符

Java中的访问控制修饰符

p bi ul c关键字的访 问权 限最 低,p bi关键字修饰 的类 , ul c
符 的 原 因 。 在 编 写 程 序 时 ,有 些 核 心 数据 往往 不希 望 用 户 能 方 法 或 者 属 性 可 以被 所有 类访 问 。 够 直 接 使 用 ,需 要 控 制 这 些 数据 的访 问 。 对类 成 员访 问 的 限 通过使用访问控制修饰 符来 限定对对象私有属性的访问, 制 是 面 向对 象 程 序 设 汁的 一 个 基 础 , 利 于 防 止 对 象 的 误 用 。 可 以获 得 3个 重 要好 处 。 有 只允许通过一系列定义完善的方法来访问私有数据 ,就可 以 防 止 对 封 装 数 据 的 未授 权 访 问 。 ( 过 执 行 范 围检 查 )防止 数 据 被 赋 予 不 正 当的 值 。同 时 , 通 通
( 好) 友 或默 认 、rt td受保 护 )p bi 公 有 ) 如 果 把 访 问控 poe e( c 、u l ( c 。
{ p biit = 1:/ 义 一个 p bi 型 变 量 u l / cn i O 定 ul c类 p biSr gme o (tn / 义 一 个 p bi类 型方 法 u l tn t dSr gs / c i h i )定 ul c {
Jv aa中的访 问控制修饰符
口 王丽丽 褚 梅 史 红 艳
2 10 ) 2 0 0 ( 州空军学院基础部 徐 摘 江苏 ・ 州 徐
要 : 在面 向对象 的技术 中, 利用对象 的方法封装属性 , 可达到信息隐藏的 目的。而利用访 问权 限的控制则
让面 向对象技术更完整地 实现信息隐藏的概念 , 也是使 用访 问控制修饰符 的原 因。该文具体分析访 问控制修饰
所 以 当 变 量 、 法 和 类 被 其 中不 同 的关 键 字 修 饰 时 , 有 不 同 方 会

java关键字及其作用

java关键字及其作用

java关键字及其作用一、关键字总览:关键字含义abstract 表明类或者成员方法具有抽象属性assert 用来进行程序调试boolean 基本数据类型之一,布尔类型break 提前跳出一个块byte 基本数据类型之一,字节类型case 用在switch语句之中,表示其中的一个分支catch 用在异常处理中,用来捕捉异常char 基本数据类型之一,字符类型class 类const 保留关键字,没有具体含义continue 回到一个块的开始处default 默认,例如,用在switch语句中,表明一个默认的分支do 用在do-while循环结构中double 基本数据类型之一,双精度浮点数类型else 用在条件语句中,表明当条件不成立时的分支enum 枚举extends 表明一个类型是另一个类型的子类型,这里常见的类型有类和接口final 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变finally 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块float 基本数据类型之一,单精度浮点数类型for 一种循环结构的引导词goto 保留关键字,没有具体含义if 条件语句的引导词implements 表明一个类实现了给定的接口import 表明要访问指定的类或包instanceof 用来测试一个对象是否是指定类型的实例对象int 基本数据类型之一,整数类型interface 接口long 基本数据类型之一,长整数类型native 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN 语言)实现的new 用来创建新实例对象package 包private 一种访问控制方式:私用模式protected 一种访问控制方式:保护模式public 一种访问控制方式:共用模式return 从成员方法中返回数据short 基本数据类型之一,短整数类型static 表明具有静态属性strictfp 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范super 表明当前对象的父类型的引用或者父类型的构造方法switch 分支语句结构的引导词synchronized 表明一段代码需要同步执行this 指向当前实例对象的引用throw 抛出一个异常throws 声明在当前定义的成员方法中所有需要抛出的异常transient 声明不用序列化的成员域try 尝试一个可能抛出异常的程序块void 声明当前成员方法没有返回值volatile 表明两个或者多个变量必须同步地发生变化while 用在循环结构中二、详细解释1. 访问控制1) private 私有的private 关键字是访问控制修饰符,可以应用于类、方法或字段(在类中声明的变量)。

访问修饰符

访问修饰符

C#访问修饰符 访问修饰符private 访问修饰符
• private 关键字是一个成员访问修饰符。私 关键字是一个成员访问修饰符 成员访问修饰符。 有访问是允许的最低访问级别。 有访问是允许的最低访问级别。私有成员 只有在声明它们的类和结构体中才是可访 问的。同一体中的嵌套类型也可以访问那 问的。同一体中的嵌套类型也可以访问那 些私有成员。 些私有成员。在定义私有成员的类或结构 外引用它会导致编译时错误。 外引用它会导致编译时错误。
C#访问修饰符 访问修饰符public 访问修饰符
• public 关键字是类型和类型成员的访问修 关键字是类型和类型成员 类型和类型成员的访问修 饰符。公共访问是允许的最高访问级别。 饰符。公共访问是允许的最高访问级别。 对访问公共成员没有限制. 对访问公共成员没有限制
C#访问修饰符 访问修饰符protect 访问修饰符
• protected 关键字是一个成员访问修饰符。 关键字是一个成员访问修饰符 成员访问修饰符。 受保护成员在它的类中可访问并且可由派 受保护成员在它的类中可访问并且可由派 生类访问.只有在通过派生类类型发生访问 生类访问 只有在通过派生类类型发生访问 时,基类的受保护成员在派生类中才是可 访问的。结构成员无法受保护, 访问的。结构成员无法受保护,因为无法 继承结构。 继承结构。protected修饰的类可以在同一 修饰的类可以在同一 程序集的类中可访问,而修饰的成员只能由 程序集的类中可访问 而修饰的成员只能由 其子类才能访问【 不一样】 其子类才能访问【java不一样】。 不一样
C#访问修饰符 访问修饰符
• public可以被任意存取 程序集之外 ; 可以被任意存取[程序集之外 可以被任意存取 程序集之外]; • protected只可以被本类和其继承子类存取; 只可以被本类和其继承子类存取; 只可以被本类和其继承子类存取 • internal只可以被本组合体(Assembly程序集) 只可以被本组合体( 程序集) 只可以被本组合体 程序集 内所有的类存取,组合体是C#语言中类被组合后 内所有的类存取,组合体是 语言中类被组合后 的逻辑单位和物理单位, 的逻辑单位和物理单位,其编译后的文件扩展名 往往是 “.DLL”或“.EXE”。 ” ” • protected internal唯一的一种组合限制修饰符, 唯一的一种组合限制修饰符 唯一的一种组合限制修饰符, 它只可以被本组合体内所有的类和这些类的继承 子类所存取。 子类所存取。 • private只可以被本类所存取。 只可以被本类所存取。 只可以被本类所存取

java中类的用法

java中类的用法

java中类的用法Java是一种面向对象的编程语言,类是面向对象编程的基本概念之一。

在Java中,类是一种模板,它用来描述一类对象的方法和属性。

可以通过创建类的对象来使用它的方法和属性。

本文将介绍Java中类的用法。

一、定义类Java中定义类的语法如下:```java public class ClassName { // 类的成员变量 // 类的构造函数 // 类的方法 } ```其中,类名要遵循标识符的命名规范。

类的成员变量是类的属性,它们用于存储对象的状态。

类的构造函数用于创建对象并初始化它的成员变量。

类的方法用于定义对象的行为。

二、成员变量Java中的成员变量也称为类的属性,用于存储对象的状态。

成员变量可以是基本类型、引用类型或数组类型。

在类的定义中,成员变量要放在构造函数和方法的前面。

成员变量可以通过类的对象来访问和修改。

```java public class Person { private String name; private int age;public Person(String name, int age){ = name; this.age = age; }public String getName() { return name; }public void setName(String name){ = name; }public int getAge() { return age; }public void setAge(int age){ this.age = age; } } ```在上面的例子中,Person类有两个成员变量name和age,它们都使用private关键字修饰,表示只能在类内部访问。

同时,这个Person类提供了一个有参构造函数和getter、setter方法,用来访问和修改成员变量。

三、构造函数Java中的构造函数用于创建对象并初始化它的成员变量。

java判断题new

java判断题new

1. == 操作符判定两个分立的对象的内容和类型是否一致。

C1. equals()方法只有在两个对象的内容一致时返回true。

C1. friendly关键字是Java语言的访问控制修饰符。

C2. maxElements是一个成员变量,声明为:“public static final int maxElements=100;”。

D3. 实例变量在使用new Xxxx()创建该类的实例时被创建,而其生存期和该类的实例对象的生存期相同。

D4. 在构造方法中如调用super()语句,则必须使其成为构造方法中的第一条语句。

5. 重写的方法的访问权限不能比被重写的方法的访问权限高。

6. 类变量在该类被加载时被创建,不能用new Xxxx()创建,所有该类的实例对象共享类变量,其生存期是类的生存期。

D10. equals()方法只有在两个对象的内容一致时返回true。

C1. 在Java语言中属性前不加任何访问控制修饰符则表示只允许同一包中的类访问。

D4. 任何变量在使用前都必须显式初始化。

C5. 当系统调用当前类的构造方法时,若没有this()语句进行重载调用,也没有super()语句调用父类构造方法,则直接执行构造方法中的其他语句。

6. 子类可以重写一个父类的构造方法。

7. 在一个抽象类中不能定义构造方法。

9. 在Java中所有事件监听器接口中定义的方法,其访问权限都是public,返回值都是void。

D1. private修饰的顶层类(非内部类)可以被同一个包中的其他类所访问。

C3. == 操作符判定两个分立的对象的内容和类型是否一致。

C6. 当一个类没有显式定义构造方法时,Java系统总是为其创建一个默认的无参的构造方法。

D7. 局部变量在定义该变量的方法被调用时被创建,而在该方法退出后被撤销,其生存期和定义该变量的方法的生存期相同。

D8. 在同一个类的不同构造方法中调用该类的其它构造方法需要使用this(…)的形式,this(…)不能在构造方法的第一行调用。

Java中的权限修饰符(protected)示例详解

Java中的权限修饰符(protected)示例详解

Java中的权限修饰符(protected)⽰例详解前⾔权限控制表修饰词本类同⼀个包的类继承类其他类private√×××⽆(默认)√√××protected√√√×public√√√√关于protected最近在看Effective Java时,遇到了⼀个关于protected修饰符的问题。

这个问题中,对于它的认识与我之前对它的认识有⼀些出⼊。

所以在这⾥记录⼀下。

很多介绍Java语⾔的书籍(包括《Java编程思想》)都对protected介绍的⽐较的简单,基本都是⼀句话,就是:被protected修饰的成员对于本包和其⼦类可见。

这种说法有点太过含糊,常常会对⼤家造成误解。

实际上,protected的可见性在于两点:⽗类的protected成员是包内可见的,并且对⼦类可见;若⼦类与⽗类不在同⼀包中,那么在⼦类中,⼦类实例可以访问其从⽗类继承⽽来的protected⽅法,⽽不能访问⽗类实例的protected⽅法。

在碰到涉及protected成员的调⽤时,⾸先要确定出该protected成员来⾃何⽅,其可见性范围是什么,然后就可以判断出当前⽤法是否可⾏。

这⾥有⼀个疑问就是上述结论的第⼆点。

咋⼀看是⽐较绕⼝的,甚⾄有点⽭盾,但是在看了下⾯的⼏个例⼦之后,理解就会更加深⼀点。

⽰例⼀p1/Father1.javapackage basic.testprotected.p1;public class Father1 {protected void f() {} // ⽗类Father1中的protected⽅法}p1/Son1.javapackage basic.testprotected.p1;public class Son1 extends Father1{}p11/Son11.javapackage basic.testprotected.p11;import basic.testprotected.p1.Father1;public class Son11 extends Father1{}p1/Test1.java⾸先看(1)(3),其中的f()⽅法从类Father1继承⽽来,其可见性是包p1及其⼦类Son1和Son11,⽽由于调⽤f()⽅法的类Test1所在的包也是p1,因此(1)(3)处编译通过。

JAVA实验7

JAVA实验7

浙江经贸职业技术学院实训报告系部______________ 班级____________ 姓名____________ 学号_______________日期______________ 地点____________ 指导教师_____________ 成绩实验七JAVA 面向对象编程(3)【实验目的】1.掌握JAVA语言类的定义和使用。

2.掌握JAVA语言对象的声明和使用。

3.掌握JAVA语言构造方法的概念和使用。

4.掌握类及其成员的访问控制符的区别和使用。

【预习内容】1. JAVA 类的定义格式;2.JAVA对象的使用三步骤:声明、创建以及初始化;3.访问控制修饰符:public、private和protected的功能和区别;4.JAVA构造方法的概念和特点;5.JAVA多态的概念,及重载和覆盖的区别;【实验内容及步骤】1.上机验证题1.阅读下面的程序,在main()方法里添加语句完成如下功能:(1)创建一个MyValue类的对象myValue.(2)为myValue对象中的value域赋值10。

(3)使用getVaule()方法获得myValue对象中的数据并将它打印在屏幕上。

class MyValue {private int value;public void setValue(int x) {value = x;}public int getValue() {return value;}}public class UseValue {public static void main(String args[]) {MyValue myvalue = new MyValue();myvalue.setValue(10);System.out.println(myvalue.getValue());}}[程序运行过程]2.(1)程序功能:通过LX7_1_P类产生子类LX7_2,其不仅具有父类的成员变量xm(姓名)、xh(学号),还定义了新成员变量xy(学院)、xi(系)。

Java访问权限控制

Java访问权限控制

Java访问权限控制Java访问权限控制修饰符⽤来定义类、⽅法或者变量,通常放在语句的最前端。

Java语⾔提供了很多修饰符,主要分为以下两类:访问修饰符⾮访问修饰符其中⾮访问修饰符主要有:static、final、abstract、synchronized和volatile,⾮访问修饰符根据各⾃的特性来保证特定功能的实现。

Java中使⽤访问控制符来保护对类、变量、⽅法和构造⽅法的访问,访问控制修饰符对应的权限控制的⼤⼩情况为:public > protected > default(包访问权限) > private。

1. 编译单元和包编译单元:即为最⼩的可以被编译且执⾏的Java⽂件。

⼀个.java⽂件就是⼀个编译单元,⼀个编译单元必须只包含有⼀个public类,可以包含有其他⾮public的类,并且⽤publi类标⽰的类名必须和⽂件名相同。

如果.java⽂件中不包含有publi类,则这个类也是没有意义的,因为不能被外界所访问。

.java⽂件中包含有⼏个类,编译后就会⽣成⼏个.class⽂件。

包含有⼀组类,是以⼀个名字空间集合在⼀起的类⽽已。

2. 访问控制修饰符public : 对所有类可见使⽤对象:类、接⼝、变量、⽅法protected : 对同⼀包内的类和所有⼦类可见使⽤对象:变量、⽅法。

注意:不能修饰类(外部类)default (即缺省,什么也不写): 在同⼀包内可见,不使⽤任何修饰符使⽤对象:类、接⼝、变量、⽅法。

private : 在本类中可见使⽤对象:变量、⽅法。

注意:不能修饰类(外部类)private和protected修饰符不能⽤以修饰类/接⼝2.1 公有访问修饰符-public被声明为 public 的类、⽅法、构造⽅法和接⼝能够被任何其他类访问。

如果⼏个相互访问的 public 类分布在不同的包中,则需要导⼊相应 public 类所在的包。

由于类的继承性,类所有的公有⽅法和变量都能被其⼦类继承。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

java 访问控制修饰符
面向对象的基本思想之一是封闭实现细节并且公开接口。

Java语言采用访问控制修饰符来控制类及类的方法和变量的访问权限,从而只向使用者暴露接口,但隐藏实现细节。

访问控制分4种级别。

表6-7总结了这4种访问级别所决定的可访问范围。

●公开级别:用public修饰,对外公开。

●受保护级别:用protected修饰,向子类及同一个包中的类公开。

●默认级别:没有访问控制修饰符,向同一个包中的类公开。

●私有级别:用private修饰,只有类本身可以访问,不对外公开。

表6-7 4种访问级别的可访问范围
护、默认和私有。

顶层类只可以处于公开或默认访问级别,因此顶层类不能用private
表6-8列出了类、成员方法、构造方法、成员变量和局部变量可用的各种修饰符。

其中“√”表示可以修饰。

表中的类仅限于顶层类(Top Level Class),而不包括内部类。

内部类是指定义在类或方法中的类,下面会对此做详细介绍。

从上表中可以看出,修饰顶层类的修饰符包括abstract 、public 和final ,而static 、protected 和private 不能修饰顶层类。

成员方法和成员变量可以有多种修饰符,而局部变量只能用final 修饰。

如图6-19所示,ClassA 和ClassB 位于同一个包中,ClassC 和ClassD 位于另一个包中,并且ClassC 是ClassA 的子类。

ClassA 是public 类型,在ClassA 中定义了4个成员变量:a 、b 、c 和d ,它们分别处4个访问级别。

图6-19 访问指示
在ClassC中,可以访问ClassA的a和b变量。

ClassB是默认访问级别,位于pack1包中,只能被同一修饰符中的ClassA访问,。

相关文档
最新文档