1. 一个方法中的多个静态的方法怎么调用
静态的方法可以直接类名调用 假如类名 pulic class A 下有 Static a Static b Static c
那么可以 A.a() A.b() A.c() 分别调用。这就是静态方法的好处
2. c语言问题的静态方法
需要注意:1. 函数的静态变量,初始化的语句值只在第一次被调用时执行
2. 下一次调用时的f的值是上一次调用之后f的值
fac(1) f = 1; f=f*n; f= 1;
fac(2) f= f*n; f=2;
fac(3) f= f*n; f=6;
fac(4) f= f*n; f=24;
fac(5) f= f*n; f= 120;
3. 静态方法可以直接调用实例方法么
package com.text_3;
//静态方法不能直接调用实例方法和变量,但可以间接调用(即在静态方法中创建类的实例,然后调用)
class Demo_12 {
public static void main(String[] args) {
Circle c=new Circle();
Demo_12 d=new Demo_12();
method1();//此处报错,静态方法不能直接调用非静态方法
d.method1(); //间接调用,无错
c.setRadius(5.0); //间接调用,无错
}
public void method1(){
method2();
}
public static void method2(){
Circle c=new Circle();
System.out.println("what is radius " +c.getRadius());
}
}
class Circle{
private double radius;
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
}
4. C语言中 其他文件可否调用文件中的static函数
不能。
C语言中的static函数:
内部函数和外部函数
函数一旦定义后就可被其它函数调用。但当一个源程序由多个源文件组成时,在一个源文件中定义的函数能否被其它源文件中的函数调用呢。为此,C语言又把函数分为两类:
一、内部函数
如果在一个源文件中定义的函数只能被本文件中的函数调用,而不能被同一源程序其它文件中的函数调用, 这种函数称为内部函
数。定义内部函数的一般形式是: static 类型说明符 函数名(形参表) 。
例如:
static int f(int a,int b) 内部函数也称为静态函数。但此处静态static 的含义已不是指存储方式,而是指对函数的调用范围只局限于本文件。 因此在不同的源文件中定义同名的静态函数不会引起混淆。
二、外部函数
外部函数在整个源程序中都有效,其定义的一般形式为: extern 类型说明符 函数名(形参表) 例如:
extern int f(int a,int b)如在函数定义中没有说明extern或static则隐含为extern。在一个源文件的函数中调用其它源文件中定义的外部函数时,应用extern说明被调函数为外部函数。例如:
F1.C (源文件一)
main()
{ extern int f1(int i); /*外部函数说明,表示f1函
数在其它源文件中*/ …… }
F2.C (源文件二)
extern int f1(int i); /*外部函数定义*/
{ …… }
5. c语言静态函数调用问题
楼主您好,是这样的,因为你的main.cpp中包含#include"a.cpp"和#include"b.cpp",他们的意思是主程序文件包含其他a和b两个文件中的内容,因此可以调用里面的函数;
如果去掉他们,若是主程序文件仍想调用他们,则必须在主程序文件中用extern声明,说明他们是在别的程序文件中,然后才可以调用。
希望对楼主理解有帮助。
6. c++静态函数怎么调用
静态函数是用类名而不是对象名,,,, 用的是第一种,
第三种是在定义静态函数的时候比如
class A{..................static void C();};
void A::C(...){}
7. 如何调用内部类中的静态方法
一般来说,外部类调用内部类的方法分为以下几种情况:
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();
}
};
8. C语言中,其他文件可否调用文件中的static函数
不能,C语言中的static函数,内部函数和外部函数,函数一旦定义后就可被其它函数调用。
当一个源程序由多个源文件组成时,在一个源文件中定义的函数能否被其它源文件中的函数调用,C语言又把函数分为两类。
如果在一个源文件中定义的函数只能被本文件中的函数调用,而不能被同一源程序其它文件中的函数调用,
这种函数称为内部函数。
内部函数也称为静态函数,但此处静态static
的含义已不是指存储方式,而是指对函数的调用范围只局限于本文件。
外部函数在整个源程序中都有效,其定义的一般形式为extern
类型说明符
函数名形参表。
C语言中static函数,只能被本文件中的函数所使用,别的c文件中不能访问这个函数,而且你可以在别的文件中定义与之同名的函数,不会互相干扰。
9. 静态方法的方法使用
静态方法与静态变量一样,属于类本身,而不属于那个类的一个对象。调用一个被定义为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. 没有属性的类,一般会定义静态方法,这样在使用时,通过类名::方法名即可调用,
而不用先定义对象,再调用,这样可以省去一行代码。
10. c接口怎么调用c++静态成员函数
最好的办法是用c++做一次封装,封装成c的接口,然后给c语言调用。