java 类的类型修饰符包含了缺省、_________________及_________________三种,分别对应具体类、抽象类和最

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 类的类型修饰符包含了缺省、_________________及_________________三种,分别对应具体类、抽象类和最相关的知识,希望对你有一定的参考价值。

缺省时为(friendly)
抽象类(abstract)
最终类(final)
公共类(public)
保护类(protect)
参考技术A java 类的类型修饰符包含了缺省(也就是包访问权限)、abstract及public三种,分别对应具体类、抽象类和最高访问权限类。 参考技术B public (公共的),private(私有的) ,protected (受保护) 参考技术C 公共,受保护,私有

python 类成员的修饰符

类的所有成员在上一步骤中已经做了详细的介绍,对于每一个类的成员而言都有两种形式:

  • 公有成员,在任何地方都能访问
  • 私有成员,只有在类的内部才能方法

私有成员和公有成员的定义不同:私有成员命名时,前两个字符是下划线。(特殊成员除外,例如:__init__、__call__、__dict__等)

class C:
    def __init__(self):
        self.name = 公有字段
        self.__foo = "私有字段"   

私有成员和公有成员的访问限制不同

静态字段

  • 公有静态字段:类可以访问;类内部可以访问;派生类中可以访问
  • 私有静态字段:仅类内部可以访问
class C:

    name = "公有静态字段"

    def func(self):
        print C.name

class D(C):

    def show(self):
        print C.name


C.name         # 类访问

obj = C()
obj.func()     # 类内部可以访问

obj_son = D()
obj_son.show() # 派生类中可以访问
class C:

    __name = "公有静态字段"

    def func(self):
        print C.__name

class D(C):

    def show(self):
        print C.__name


C.__name       # 类访问            ==> 错误

obj = C()
obj.func()     # 类内部可以访问     ==> 正确

obj_son = D()
obj_son.show() # 派生类中可以访问   ==> 错误

普通字段

  • 公有普通字段:对象可以访问;类内部可以访问;派生类中可以访问
  • 私有普通字段:仅类内部可以访问;

ps:如果想要强制访问私有字段,可以通过 【对象._类名__私有字段明 】访问(如:obj._C__foo),不建议强制访问私有成员。

class C:
    
    def __init__(self):
        self.foo = "公有字段"

    def func(self):
        print self.foo  # 类内部访问

class D(C):
    
    def show(self):
        print self.foo # 派生类中访问

obj = C()

obj.foo     # 通过对象访问
obj.func()  # 类内部访问

obj_son = D();
obj_son.show()  # 派生类中访问
class C:
    
    def __init__(self):
        self.__foo = "私有字段"

    def func(self):
        print self.foo  # 类内部访问

class D(C):
    
    def show(self):
        print self.foo # 派生类中访问

obj = C()

obj.__foo     # 通过对象访问    ==> 错误
obj.func()  # 类内部访问        ==> 正确

obj_son = D();
obj_son.show()  # 派生类中访问  ==> 错误

方法、属性的访问于上述方式相似,即:私有成员只能在类内部使用

ps:非要访问私有属性的话,可以通过 对象._类__属性名

 


以上是关于java 类的类型修饰符包含了缺省、_________________及_________________三种,分别对应具体类、抽象类和最的主要内容,如果未能解决你的问题,请参考以下文章

阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第6节 权限修饰符_6_四种权限修饰符

python 类成员的修饰符

python - 类的修饰符

Java_修饰符详解

抽象类,接口_05

No2_2.接口继承多态_Java学习笔记_继承