A. 纯C语言实现,泛型数组(静态数组的方式),关键是在分配内存时候,如何传递类型参数。(可惜我没有分)
不要分,尽管讨论!在32位机里指针都是4字搜闹仿节。世纤但为了书写标准化和移植弯此,还是用sizeof(ptype)*n作为malloc的参数为好。其中n是需要分配多少个ptype型指针的个数。
B. 静态方法的方法使用
静态方法与静态变量一样,属于类本身,而不属于那个类的一个对象。调用一个被定义为static的方法,可以通过在它前面加上这个类的名称,也可以像调用非静态方法一样通过类对象调用。
实例方法必须通过类的实例来使用。实例方法可以使用类的非静态成员,也可以使用类的静态成员。
类的静态方法,静态变量是在类装载的时候装载的。但是要特别注意,类的静态变量是该类的对象所共有的,即是所有对象共享变量。所以建议尽量少用静态变量。尽量在静态方法中使用内部变量。 其中static关键字即表示静态的。声明静态方法的语法如下:
<访问修饰符>static返回类型 方法名(参数列表)
{//方法体} 静态方法与实例方法唯一不同的,就是静态方法在返回类型前加static关键字。静态方法的调用有两种途径:
(1)通过类的实例对象去调用
调用格式为: 对象名.方法名
(2) 通过类名直接调用
调用格式为: 类名::方法名 我们在使用时要注意:
静态方法只能访问类的静态成员,不能访问类的非静态成员;
非静态方法可以访问类的静态成员,也可以访问类的非静态成员;
静态方法既可以用实例来调用,也可以用类名来调用。 #include<iostream>using namespace std;
class CStaticTest{public:CStaticTest(int a){this->a = a;}~CStaticTest(){}
static int add(CStaticTest& c1, CStaticTest& c2){return c1.a + c2.a;}
private:int a;};
int main(){CStaticTest tmp1(1);CStaticTest tmp2(2);int sum1 = tmp1.add(tmp1, tmp2);int sum2 = CStaticTest::add(tmp1, tmp2);
cout << sum1 << endl;cout << sum2 << endl;return 0;} 1. 有静态属性的类,一般会定义静态方法。
2. 没有属性的类,一般会定义静态方法,这样在使用时,通过类名::方法名即可调用,
而不用先定义对象,再调用,这样可以省去一行代码。
C. 怎么调用静态方法
静态方法不能访问非静态的实例变量和实例方法。实例方法可以访问静态成员和非静态成员。
1在本来中直接调用静态方法
2可以通过类名来调用该类的静态方法
3通过实例调用静态方法
// 外部类,不能是静态的
public class OuterClass {
// 静态方法,又称为类方法,属于Test类
public static void staticFun() {
}
// 非静态方法,又称为实例方法,属于Test类的具体实例
public void nonStaticFun() {
}
// 静态内部类,静态类只能是内部类
public static class StaticInnerClass {
// 静态方法,属于StaticInnerClass类
public static void staticFun() {
}
// 非静态方法,属于StaticInnerClass类的实例
public void nonStaticFun() {
}
}
// 非静态内部类,不能有静态方法
public class NonStaticInnerClass {
// 非静态方法,属于NonStaticInnerClass的实例
public void nonStaticFun() {
}
}
// 测试代码如下:
public static void main(String[] args) {
// 对于静态方法,使用类直接访问
OuterClass.staticFun();
StaticInnerClass.staticFun();
// 对于非静态方法,需要使用类的实例访问
new OuterClass().nonStaticFun();
new StaticInnerClass().nonStaticFun();
// 对于非静态内部类,必须创建外部类后才能使用
OuterClass outerClass = new OuterClass();
NonStaticInnerClass nonStaticInnerClass = outerClass.new NonStaticInnerClass();
nonStaticInnerClass.nonStaticFun();
}
}
D. 静态方法怎么调用
先在eclipse中创建一个Java工程文件。并在src下创建demo包,在demo包下创建类DemoClass。创建后的工程目录如图。
02
接下来在DemoClass类中添加一个静态属性和静态方法。被static修饰的属性或方法就是静态的。
03
对于静态方法的调用,可以使用调用非静态方法的方式去调用,即创建一个类的对象,然后再调用静态方法,具体代码如下图。
04
编辑好代码后,通过java应用程序的方式运行DemoClass.java文件,运行结果如图2,说明成功调用了静态方法。
05
不过,上面调用静态方法的方式是不推荐的。如果使用上面的方式调用静态方法,在eclipse中,你可以看到下图的警告,大概的意思是要你使用正确的调用静态方法的方式去调用该方法。
06
对于静态方法,正确调用的方式是直接通过类名来调用的。用调用例子中的staticFunction为例,正确调用该方法的代码为
DemoClass.staticFunction。当用类来调用静态方法时,可以看到eclipse就不报警告了。
07
再次运行该文件,运行结果和刚刚一样,说明也成功调用了静态方法。
08
多说一句,对于静态属性的调用,也是用类名+点+静态属性的方式来调用的,正常都不会先创建一个对象,然后再通过对象来调用静态属性。
E. csharp如何定义静态方法
方法:
1、首先在VS2019软件中,打开一个C#控制台应用项目。
2、在C#项目中,打开自动创建型坦的Program.cs源文件。
3、在Program类的类体中,使用“publicstatic”关键字声明一个GetMsg()静态方法。
4、在Main()主函数中,插入语句:“GetMsg();”,调用声明的静态方法。
5、在VS2019软件上方菜单栏中,依次点蔽慧击“生成>>开始执行(不调试)”选项,编译并运行C#程序。
6、程序运行宏租答完毕后,在控制台窗口中可以看到已经成功地在类中声明一个静态方法。
F. C# 泛型方法中,如何调用 类 参数中的 静态方法
很明显,你的函数要做的侍模丛是一个把弱类型的DataTable映射到强类型List<T>的ORM功能,但GetEntityByDataRow这个映射函数根本不应该定义到T中,你可以单独写一个静老樱态类,里面使用反射技术,完成反射就可以码段了。
G. c++怎样调用类的静态方法
1、静态数据成员在定义或说明时前面加关歼桥键字static。//静态变量的定义
2、静态成员初始化辩帆与一般数据成员初始化不同。静态数据氏灶猛成员初始化的格式如下:
<数据类型><类名>::<静态数据成员名>=<值> //静态变量的初始化
H. 静态泛型方法
普通的方法是通过类的告渗孝实例来调用的,创建实例的过程调用了构造方法,袜稿也就是说对象已经知道这个时候类上面定义的<喊态T>的具体类型了;
而静态方法不需要对象实例来调用,所以也就不知道<T>的具体类型,虚拟机不允许这种情况发生,所以编译的时候就报错了。
<K>放在static后面,你可以理解为既然静态方法不知道Pair里面的具体类型,你就手动的告诉它具体的类型
I. 如何调用内部类中的静态方法
一般来说,外部类调用内部类的方法分为以下几种情况:
1.使用static可以声明一个内部类, 可以直接在外部调用
// 定义外部类
class Outer
{
// 定义外部类的私有属性
private static String info = "hello world";
// 使用static定义内部类为外部类
static class Inner
{
// 定义内部类的方法
public void print()
{
// 直接访问外部类的私有属性
System.out.println(info);
}
};
// 定义外部类的方法
public void fun()
{
// 通过内部类的实例化对象调用方法
new Inner().print();
}
};
public class InnerClassDemo03
{
public static void main(String args[])
{
// 调用外部类的fun()方法
new Outer.Inner().print() ;
}
};
2.不使用statc声明一个内部类 ,使外部调用
//定义外部类
class Outer
{
//定义外部类的私有属性
private String info = "hello world";
//定义内部类
class Inner
{
//定义内部类的方法
public void print()
{
//直接访问外部类的私有属性
System.out.println(info);
}
};
//定义外部类的方法
public void fun()
{
//通过内部类的实例化对象调用方法
new Inner().print();
}
};
J. c# 在动态类中如何调用静态方法
要调用其它类,有两种情况:
1)如果其它类的方法是实例物正方法,就要先new 类再调用。
2)如果其它类的方法是静态方法,就可以直接调用。
举个例子:
public class A
{
//实例方法
public void Method1(){//..}
//静态方法
public static Method2(){//..}
}
要在类B中调用上面2个不同类型方法,则使用方法慎蚂并如下:
调用实例方法:
A a = new A();
a.Method1();
调用静态方法:
A.Method2();
---------------------------------------------
你宽迹是想获取sum后的值吧?
那参数类型就要改了:
public class A
{
public static int a = 0;
public static int sum(int n)
{ // 定义了一个静态的方法sum.
return a = a + n;
}
}
public class Test {
public void test()
{
int result = A.sum(5);
}
}