当前位置:首页 » 密码管理 » 修饰符与访问权限

修饰符与访问权限

发布时间: 2022-12-31 19:04:48

A. 简述三种访问修饰符对类成员的访问限制

public:访问不受限制
private:只有类成员函数和友元函数才可以访问
protected:只有类成员函数和派生类成员函数才可以访问

B. java中的修饰符在子类中的访问权限

在父类中用public或者protected修饰的变量,在子类中可以访问。
private的只有本类自身可以访问。
默认的也就是friendly本类或者同一包中的类可以访问。

作用域 当前类 同一package 子孙类 其他package

public √ √ √ √

protected √ √ √ ×

friendly √ √ × ×

private √ × × ×

C. private、protected、pubic、internal修饰符的访问权限分别是

  • private : 私有成员, 在类的内部才可以访问(只能从其声明上下文中进行访问)

  • protected : 保护成员,该类内部和从该类派生的类中可以访问

  • Friend:友元 ,声明 friend 元素的程序集中的代码可以访问该元素,而不能从程序集外部访问

  • Protected Friend:在派生类或同一程序集内都可以访问

  • public : 公共成员,完全公开,没有访问限制

  • internal: 在同一命名空间内可以访问

D. java中类的访问权限修饰符有哪两种求答案

不止两种,public,protcet,private,没有修饰符是默认访问权限
pravite 只能在同一个类中访问protected,可以在同一个类、同一个包、不同包中的子类访问默认:在同一个类、同一个包中访问public 同一个类,同一个包、不同包中的子类、不同包中的非子类

E. java 的访问修饰符是什么

Java中的访问修饰符

Java面向对象的基本思想之一是封装细节并且公开接口。Java语言采用访问控制修饰符来控制类及类的方法和变量的访问权限,从而向使用者暴露接口,但隐藏实现细节。访问控制分为四种级别:

(1)public: 用public修饰的类、类属变量及方法,包内及包外的任何类(包括子类和普通类)均可以访问;

(2)protected: 用protected修饰的类、类属变量及方法,包内的任何类及包外那些继承了该类的子类才能访问(此处稍后解释),protected重点突出继承;

(3)default: 如果一个类、类属变量及方法没有用任何修饰符(即没有用public、protected及private中任何一种修饰),则其访问权限为default(默认访问权限)。默

认访问权限的类、类属变量及方法,包内的任何类(包括继承了此类的子类)都可以访问它,而对于包外的任何类都不能访问它(包括包外继承了此类的子类)。default重点突出包;

(4)private: 用private修饰的类、类属变量及方法,只有本类可以访问,而包内包外的任何类均不能访问它。

网上一些资料及一些书上用表格对java访问修饰符做了清楚的总结,如下表所示:

重要总结:通过上面的分析,我们可以看到:

1.public、private和protected对我们来说没有任何异议。

2. 顶层类只能用public访问修饰符和default(默认)访问修饰符修饰,其中用默认修饰符修饰的类(及没有任何修饰符的类,如class B{})不能被其他包中的类继承,这也说明了default(默认)访问修饰符突出的是包权限

3. protected:本人做了一次实验,发现在不同包的子类中,new一个父类对象,并用该父类对象去访问父类中的用protected修饰的类属变量和方法时不能访问,而new一个子类对象时,子类对象可以访问(说明protected修饰的类可以被其他包中的类继承)。也可以在子类重写父类的方法中使用super关键字调用。这岂不是和上面表格中的总结(红色对勾)冲突了?本人也是百思不得其解。最后在网上找到了一个相对比较认可的解释,如下:

protected修饰符的修饰的成员变量和方法也称为受保护的成员变量和方法, 受保护的成员变量和方法可以在本类或同一个包中的其它类(包括子类)中通过类的实例进行访问,也可以被同一个包中的类或不同包中的类继承,但是不能在不同包中的其它类(包括子类)中通过类的实例进行访问。

4. 如果一个类使用public修饰,那该类的类名必须与他所在的源文件名相同。一个.java源文件中有且只有一个public类,顶层类只能用public和默认修饰符(即无修饰符)修饰;

5.final修饰的类不能被继承,没有子类。

6.abstract修饰的类不能被实例化,必须被子类继承。类只要有一个抽象方法就必定是抽象类,但抽象类不一定要有抽象方法。

最终总结,就一句话:protected修饰符所修饰的类(这句话中指父类)属成员变量和方法,只可以被子类访问,而不管子类是不是和父类位于同一个包中。default修饰符所修饰的类属成员变量和方法,只可被同一个包中的其他类访问,而不管其他类是不是该类的子类。protected属于子类限制修饰符,而default属于包限制修饰符。

F. 简述访问权限修饰符

public(公有的)、protected(受保护的)、default(默认的)、private(私有的)public:权限最大,所有的类中都可以访问protected:在同一类中和同一包的其它类以及不同包的其子类可以访问default:就是没有修饰单词,在同一类中和同一包中的其他类访问private:只能在本类中访问,在其他类中要访问的话,需要该类中提供的访问方法或取值方法

G. 简述 private、 protected、 public、 internal 修饰符的访问权限。

public:类或成员可以由同一程序集中的任何其他代码或引用它的另一个程序集访问。

private:只能通过同一个类或结构中的代码访问类型或成员。

protected:类或成员只能由同一个类中的代码访问,或者在从该类派生的类中访问。

internal:类或成员可以由同一程序集中的任何代码访问,但不能从另一个程序集访问。

(7)修饰符与访问权限扩展阅读:

private、 protected、 public、 internal 修饰符除了可以单独使用,还可以组合使用。

protected internal:访问仅限于从包含类派生的当前程序集或类型。

private protected: 访问仅限于从当前程序集中的包含类派生的包含类或类型。

除了使用protected internal或private protected组合时,成员或类只允许使用一个访问修

饰符。名称空间上不允许访问修饰符。命名空间没有访问限制。

根据成员声明发生的上下文,仅允许某些声明的可访问性。如果在成员声明中未指定访问修饰

符,则使用默认辅助功能。

顶级类型(不嵌套在其他类型中)只能具有internal或public可访问性。这些类型的默认可访

问性是internal。

H. 描述JAVA中的四个访问修饰符,并描述他们运行访问的权限

你说的是四个权限修饰符吧

public修饰的类可以在其他任意包访问
protect修饰的类可以在同包内访问
default修饰的类可以在本类和同包中访问
private是私有的意思只能在本类中访问

四个修饰符体现了面向对象的封装性 适用他们尽可能把权限降到最低 从而提高安全性

不要图方便滥用public而失去封装的意义

I. java 中有多少修饰符,它们的访问权限又是什么

楼主问的是访问控制符,只有访问控制符才说访问权限

JAVA里面 准确来讲是有四个访问控制符 默认、public、private、protected等四个

pravite 只能在同一个类中访问
protected,可以在同一个类、同一个包、不同包中的子类访问
默认:在同一个类、同一个包中访问
public 同一个类,同一个包、不同包中的子类、不同包中的非子类

不知道楼主问的是不是这,如果不是可以再留言

J. 关于Java中类的访问修饰符

一:访问修饰符:
1.省略访问修饰符
具有默认的访问特性,即具有包访问特性,只能被同一个包中的类使用。
2.public访问修饰符
用于说明类和类的成员的访问权限。这种类叫公有类。在一个文件中只能有一个public类型的类。
例如:Rect和UseImport两个类,分别在两个不同的包中。顺便回顾一下不同类要用import导入。(哎,一直就没记住)
//Rect.java
pacakage my;
public class Rect
{
private int a,b;
public void init(int len,int width)
{
a=len;
b=width;
}
public int area()
{
return a*b;
}
}
//UseImport.java
import.my.*;//导入my 包的所有类
public class UseImport
{
public static void main(string[] args)
{
Rect x=new Rect();
x.init(2,3);
System.out.println("矩形面积为:"+x.area());
}
}
3.private
用private修饰的类成员成为私有成员,只能在声明该成员的类中使用,不能在类外使用。一般通过本类中公有方法进行访问。
4.protected
protected修饰的类成员为保护成员,可以被三种类使用,分别是该类本身,该类的所有子类,该类同包的其他类,该类的子类。
5.private protected
私有保护成员。可被两种类使用。分别是:该类本身和该类的所有子类。
二:特征修饰符
1.abstract:抽象
修饰类为抽象类,修饰方法为抽象方法。只要类中有抽象方法,就必须定义为抽象类。抽象方法只能声明,不能实现。但是可以在其子类中对抽象方法进行实现。抽象类中也可以包含非抽象方法。
2.final:最终
修饰的类为终止类,不能有子类。修饰变量为终止变量,只可赋值一次。修饰方法为终止方法,不能在子类中更改。如Socket、ServerSocket等都是final类,防止黑客派生子类进行破坏。同时,final与abstract是相互矛盾的。
3.static:静态
静态成员无需通过对象调用,可以直接通过类名直接调用。
public class RectArea//输出6 和 12
{
public static void main(String[] args)
{
System.out.println(area(2,3));
System.out.println(area(3,4));
}
static void area(int a,int b)

热点内容
如何复制页游密码 发布:2025-08-18 22:49:13 浏览:380
搭建本地服务器静态op 发布:2025-08-18 22:48:03 浏览:488
sql落伍 发布:2025-08-18 22:47:22 浏览:216
小车怎么看配置 发布:2025-08-18 22:45:41 浏览:125
魅族ftp访问电脑 发布:2025-08-18 22:44:07 浏览:39
LED数码编程 发布:2025-08-18 22:11:46 浏览:610
linux运维命令 发布:2025-08-18 22:10:24 浏览:745
sql紧急模式 发布:2025-08-18 22:10:09 浏览:339
存储电影用什么硬盘 发布:2025-08-18 22:08:54 浏览:336
安卓平板如何设置自动锁屏 发布:2025-08-18 22:04:12 浏览:535