类方法静态方法

Posted wangkaiok

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类方法静态方法相关的知识,希望对你有一定的参考价值。

# 类方法:
class
B: country = China # 静态变量(属性,字段) def func(self): # 动态普通方法 pass def __init__(self,name,age): # 特殊方法:双下方法 self.name = name @classmethod # 类方法 def func2(cls): # print(cls) cls.area = 东北 cls.name = 狗哥 print(B) print(B.__dict__) B.func2() print(B.__dict__)

技术分享图片

 # 练习:检测一下我示例化了多少个对象。

# 类方法:必须通过类的调用,而且此方法的意义:就是对类里面的变量或者方法进行修改添加。
class C:
    count = 0
    def __init__(self):
        C.cou()

    @classmethod
    def cou(cls):
        cls.count += 1
#
obj = C()
obj = C()
obj = C()
obj = C()
obj = C()
obj = C()
obj = C()
obj = C()
obj = C()
obj = C()
obj = C()
print(C.count) #11

# 静态方法:

# 静态方法: 就是一个不依赖类以及对象的一个普通函数,为什么在类里面?
# 为了保证代码的一致性,可调控性,整洁性。

举个例子:
class C:
    def __init__(self):
        pass

    @staticmethod
    def func(*args, **kwargs):
        print(666)

def func(*args, **kwargs):
    print(555)
C.func()
c1 = C()
c1.func()

技术分享图片

 

技术分享图片

 

import time
class TimeTest(object):
    def __init__(self, hour, minute, second):
        self.hour = hour
        self.minute = minute
        self.second = second
    # 各种方法


    @staticmethod # 静态方法
    def showTime():
        return time.strftime("%H:%M:%S", time.localtime())

def showTime():
    return time.strftime("%H:%M:%S", time.localtime())

print(TimeTest.showTime())
t = TimeTest(2, 10, 10)
nowTime = t.showTime()
print(nowTime)

 技术分享图片

 



以上是关于类方法静态方法的主要内容,如果未能解决你的问题,请参考以下文章

无法对非静态方法 getAssets() 进行静态引用 - 无法在片段中播放音频

从活动中调用片段中的非静态方法?

片段 null 必须是公共静态类才能从实例状态正确重新创建

从片段调用活动方法

java代码块,静态代码块,静态变量,构造方法执行顺序

在android studio中升级repo v9后,片段必须是公共静态类崩溃错误