当前位置:首页 » 文件传输 » private只能被当前类访问
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

private只能被当前类访问

发布时间: 2022-05-19 17:40:07

A. Java中private不是只有本类才可以访问吗为什么匿名类可以通过类名.this.变量来访问呢

java程序中只有变量用private定义的,此变量就只能在当前的类中使用。
java程序中只有变量用static定义的,此变量就能直接被虚拟机识别,可直接在main函数中调用。

B. java中private声明的类的作用范围

java中private声明的类的作用范围:
private 私有的;因此只能在当前类下使用

类修饰符 :public、default、abstract、final、strictfp
接口修饰符 :public、default、abstract、strictfp
构造器修饰符 :public、protected、default、private
全局变量修饰符:public、protected、default、private、static、transient、volatile、final
方法修饰符 : public、protected、default、private、abstract、static、final、native、synchronized、strictfp
内部类 :public、protected、default、private、static、abstract、final
局部变量修饰符:final

private 和 public没有对应关系
private可以修饰变量、构造器,方法、内部类;在变量前面加private 表示类的私有属性,只可以在类内部访问使用;

C. C#中类的私有变量能被继承吗若能被继承,那么private修饰的变量只能在它所属的类中被访问时怎么回事

一个类中的私有(private)变量是不能被继承的,不能被其他的类调用。
之所以不能被继承和不能被其它类调用是为了不让用户直接去操作这个对象,也就是说为了数据安全性。
例如:电冰箱上面调温度的按钮,如果给用户直接操作,那温度显示可以是任何数字(但是没那个温度)
所以出现了封装(隐藏内部的实现,提供外部接口),
代码:
private
int
number;
public
int
Number
{
get{return
number;}
set{this.number=value;}
}
在另一个类里要调用number(实际上的调用不到的),调用Number就可以了,同样赋值给Number就是赋值给number,同样可以设置你能调用和赋值的范围。这样用户就不能把空调温度调到-100。
也许你会有这样的想法,直接写一个公共(public)的,然后设置它的取值赋值的范围还不是一样。肯定的回答:不一样。如果一个大型的程序的一千个类都要用到number你是不是要重复写一千个number,那样在栈中开辟的空间太多,太浪费内存。而且大部分类所赋的值和去的值都不能,那你写了一个固定的值有什么用。

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

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

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

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

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

(4)private只能被当前类访问扩展阅读:

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

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

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

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

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

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

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

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

问性是internal。

E. java中为什么private和static同时使用private表明只能在当前类中使用,static是静态的,只需要使用类名

private是表明只能在当前类中使用
static表示不需要实例化就能用,是两回事
类中 private :类中实例化再用

类中 private static:类中直接用
类外 private :获取实例后,不让用方法

类外 private static:不让用

F. VC++中的public,private,protected的区别,说得通俗点

public:声明方法和属性可以被随意访问。
Protected:声明的方法和属性只能被类本身和其继承子类访问。
private:只能被定义属性和方法的类访问。

private 是完全私有的,只有当前类中的成员能访问到.
protected 是受保护的,只有当前类的成员与继承该类的类才能访问.

protected的访问权介于public和private之间,实际上三者的区别就是权限问题,private和protected区别主要体现在其继承类的访问权限上,这些你可以自己编写一个程序,写个类,编译一下你就很清楚他们权限的区别了。

私有成员private member
只能被成员函数和类的友元访问
实行信息隐藏的类把其数据成员声明为private

被保护成员protected member
对派生类derived class 就像public 成员一样
对其他程序则表现得像private

G. 如何区别C# private和protected

一、通过使用来区分

1、private:编程语句在模块级别中使用,用于声明私有变量及分配存储空间。

2、protected:编程语句在模块级别中使用,用于声明受保护的变量及分配存储空间。

二、通过作用来区分

1、private:只能在包含其声明的模块中使用。可以使用 Private 语句声明变量的数据类型。也可以使用 Private 语句来声明变量的对象类型。

2、protected:具有protected访问控制级别的成员是半公开的,外界无法直接访问这个控制级别的成员,但是派生类的base指针(在c++中也可用引用访问)可以获得访问能力。


三、通过规则来区分

1、private:在赋值之前,所声明的这个对象变量有一个特定值 Nothing,这个值表示该变量没有指向任何对象的实例。如果不指定数据类型或对象类型,且在模块中没有使用 Deftype 语句,则按缺省情况该变量为 Variant 类型。

2、protected:继承的类可以访问protected成员,但是不能访问private成员。


H. C# private和protected区别

private
是完全私有的,只有当前类中的成员能访问到.
protected
是受保护的,只有当前类的成员与继承该类的类才能访问.

I. Private 的访问限制

第一:private, public, protected 访问标号的访问范围。

private :只能由1.该类中的函数、2.其友元函数访问。
不能被任何其他访问,该类的对象也不能访问。

protected :可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。
但不能被该类的对象访问。

public :可以被1.该类中的函数、2.子类的函数、3.其友元函数访问,也可以由4.该类的对象访问。

注:友元函数包括3种:设为友元的普通的非成员函数;设为友元的其他类的成员函数;设为友元类中的所有成员函数。

第二:类的继承后方法属性变化。
private 属性不能够被继承。
使用private继承,父类的protected和public属性在子类中变为private;
使用protected继承,父类的protected和public属性在子类中变为protected;
使用public继承,父类中的protected和public属性不发生改变;

J. VB中的private

private是私有的意思,表示变量或者方法只能在当前窗体或者当前模块或者当前类内使用,不能被外部使用。
比如模块中
private sub func(byval k as Integer)
end sub
表示func只能在模块中使用,不能被窗体等使用
Private 表示定义的类型为一个私有型局部变量,Public 为全局变量

private 私有成员,只能在对象内部访问。
public 公有成员,可以被本对象外其它对象访问