我试图在Python中实现方法重载:
class A:
def stackoverflow(self):
print 'first method'
def stackoverflow(self, i):
print 'second method', i
ob=A()
ob.stackoverflow(2)
Run Code Online (Sandbox Code Playgroud)
但输出是second method 2; 类似的:
class A:
def stackoverflow(self):
print 'first method'
def stackoverflow(self, i):
print 'second method', i
ob=A()
ob.stackoverflow()
Run Code Online (Sandbox Code Playgroud)
给
Traceback (most recent call last):
File "my.py", line 9, in <module>
ob.stackoverflow()
TypeError: stackoverflow() takes exactly 2 arguments (1 given)
Run Code Online (Sandbox Code Playgroud)
我该如何工作?
我是python编程的新手,我有一个类,对于这个类,我创建了一个对象(obj1).i不想创建除此对象之外的其他对象,如果有任何体想要为此类创建一个应该引用的对象到第一个对象(而不是再创建一个对象).如何做到这一点?请参考以下代码?
Run Code Online (Sandbox Code Playgroud)class MyClass: def __init__(self): pass obj1=MyClass()//create object obj2=MyClass()//avoid creation and refer obj2 to obj1 obj3=MyClass()//avoid creation and refer obj3 to obj1
可能重复:
在Java中,确定对象大小的最佳方法是什么?
如果我们在类中创建实例变量和实例方法,那么如何找出为该类的每个Object分配的总内存,如下所示,例如,我认为它是一些变量(a,b)大小和方法区域大小(显示).这是真的吗?怎么样写在一个类里面的主要方法区域.
例如:
class A {
int a;
float b;
void display()
{
---
}
public static void main(String a[])
{
A obj=new A();
}
}
Run Code Online (Sandbox Code Playgroud) 我是java编程的新手,我有一个类,对于这个类,我创建了两个对象(obj1,obj2).i不想创建除这些对象之外的其他对象,如果有任何体想要为这个类创建另外一个对象应该只引用第一个或第二个对象(而不是再创建一个对象).如何做到这一点?请参考下面的代码
class B
{
void mymethod()
{
System.out.println("B class method");
}
}
class Myclass extends B
{
public static void main(String s[])
{
B obj1=new B();//this is obj1
B obj2=new B();//this is obj1
B obj3=new B();//don't allow to create this and refer this to obj1 or obj2
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢azam