当前位置: 首页 > 面试题库 >

如何实现一个私有变量,用getName方法可以访问,不能直接访问?

许黎明
2023-03-14
本文向大家介绍如何实现一个私有变量,用getName方法可以访问,不能直接访问?相关面试题,主要包含被问及如何实现一个私有变量,用getName方法可以访问,不能直接访问?时的应答技巧和注意事项,需要的朋友参考一下

参考回答:

(1)通过defineProperty来实现

obj={
name:yuxiaoliang,
getName:function(){
return this.name
}
}
object.defineProperty(obj,"name",{
//不可枚举不可配置
});

 

(2)通过函数的创建形式

function product(){
var name='yuxiaoliang';
this.getName=function(){
return name;
}
}
var obj=new product()

 

 类似资料:
  • 这将打印a.a=50 但是,如果我将更改为,那么我可以如何访问该变量呢?

  • 问题内容: 编写以下代码时,编译器如何不抱怨? 即使它是在其中编写的同一类的实例,也不应该在处给出编译错误吗?毕竟,我试图直接访问一个私有变量。 该代码甚至可以正常运行。 问题答案: 私有成员可以从声明它的类中的任何方法访问,无论该方法是访问其自己的()实例的私有成员还是访问其他实例的私有成员。 JLS 6.6.1中 对此进行了说明: …否则,如果将成员或构造函数声明为私有,则仅当访问发生在封装成

  • 问题内容: 大家好!我有一个简单的问题。…为什么我可以从main方法中获得一个私有变量?我知道,我在包含类中,但这是主要的。我相信主体不是包含它的类的一部分……那么我不会去找私人成员,但是我可以……为什么?请帮助… thx 问题答案: Main是您的类的一部分,您已经在类中声明了它:) main不是您的对象的一部分,它不会是您从该类创建的对象的任何部分,但它仍然是该类的一部分。这对于任何静态函数都

  • 我对java有点陌生,最近我学习了一些方法(太酷了!)。我想知道是否可以在我的主方法中声明一个变量,并在其他方法中使用它。 我想做的是使用方法创建一个计算器(只是为了实践这个新概念),但我不想每次都在每个方法中声明变量。 以下是代码的框架结构: }

  • 为什么我能够直接访问的私有属性在的方法的实现中?似乎使用getter应该是访问它的唯一(如果不是,最好的实践)方式。我错过了什么?

  • 问题内容: 在Java中,可以通过equals(Object o)方法访问传入的对象的私有变量,而无需通过其公共获取器。 怎么样? 问题答案: 该类的 任何 实例都可以访问私有数据,即使类A的一个实例正在访问A的另一个实例的私有成员也很重要。请记住,访问修饰符(私有,受保护,公共)控制着 类的 访问,而不是访问 实例 访问。