• 首页
  • 作文
  • 散文
  • 故事
  • 古诗
  • 短文
  • 语录
  • 写作
  • 诗歌
  • 百科
  • 知识
  • 首页
  • 作文
  • 散文
  • 故事
  • 古诗
  • 短文
  • 语录
  • 写作
  • 诗歌
  • 百科
  • 知识
首页 » 生活常识 » 静态方法获取调用方法(如何实现静态方法调用非静态方法)

静态方法获取调用方法(如何实现静态方法调用非静态方法)

分类:生活常识 日期:2022-09-21 02:17 浏览:4 次

1.如何实现静态方法调用非静态方法有哪些

public class StaticTest

{

public static void main(String[] args)

{

System.out.println("\n\t\t如何实现静态方法调用非静态方法有哪些\n");

//开始调用,匿名调用!

new StaticTest().show();

//创建对象调用!

StaticTest st=new StaticTest();

st.show();

}

//非静态方法!

void show()

{

System.out.println("非静态方法show。..!");

}

}

2.如何实现静态方法调用非静态方法有哪些

public class StaticTest { public static void main(String[] args) { System.out.println("\n\t\t如何实现静态方法调用非静态方法有哪些\n"); //开始调用,匿名调用! new StaticTest().show(); //创建对象调用! StaticTest st=new StaticTest(); st.show(); } //非静态方法! void show() { System.out.println("非静态方法show。

..!"); }}。

3.静态方法的方法使用

静态方法与静态变量一样,属于类本身,而不属于那个类的一个对象。

调用一个被定义为static的方法,可以通过在它前面加上这个类的名称,也可以像调用非静态方法一样通过类对象调用。实例方法必须通过类的实例来使用。

实例方法可以使用类的非静态成员,也可以使用类的静态成员。类的静态方法,静态变量是在类装载的时候装载的。

但是要特别注意,类的静态变量是该类的对象所共有的,即是所有对象共享变量。所以建议尽量少用静态变量。

尽量在静态方法中使用内部变量。 其中static关键字即表示静态的。

声明静态方法的语法如下:static返回类型 方法名(参数列表){//方法体} 静态方法与实例方法唯一不同的,就是静态方法在返回类型前加static关键字。静态方法的调用有两种途径:(1)通过类的实例对象去调用调用格式为: 对象名.方法名(2) 通过类名直接调用调用格式为: 类名::方法名 我们在使用时要注意:静态方法只能访问类的静态成员,不能访问类的非静态成员;非静态方法可以访问类的静态成员,也可以访问类的非静态成员;静态方法既可以用实例来调用,也可以用类名来调用。

#include 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. 没有属性的类,一般会定义静态方法,这样在使用时,通过类名::方法名即可调用,而不用先定义对象,再调用,这样可以省去一行代码。

4.静态方法可以直接调用实例方法么

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;

}

}

5.静态方法怎么调用不是静态的方法

public class Test {

private int a;

public int getnumber() {

setnumber(8);

return this.a;

}

public int setnumber(int a) {

return this.a = a;

}

public static void main(String args[]) {

Test t = new Test();

// t.setnumber(10);

int a = t.getnumber();

System.out.println(a);

}

}

6.静态类调用静态方法和 普通的类调用静态方法的区别

1、静态方法属于类所有,类实例化前即可使用;

2、非静态方法可以访问类中的任何成员,静态方法只能访问类中的静态成员;

3、因为静态方法在类实例化前就可以使用,而类中的非静态变量必须在实例化之后才能分配内存;

4、static内部只能出现static变量和其他static方法!而且static方法中还不能使用this等关键字,因为它是属于整个类;

5、静态方法效率上要比实例化高,静态方法的缺点是不自动进行销毁,而实例化的则可以做销毁;

6、静态方法和静态变量创建后始终使用同一块内存,而使用实例的方式会创建多个内存。

主要区别:静态方法在创建对象前就可以使用了,非静态方法必须通过new出来的对象调用。

如:

public class Per{

public static String getType(){

return "人类";

}

public String getName(){

return "张三";

}

}

上面这个类中的getType方法,在没有new对象前这就可以这样用:

String type=Per.getType();//type="人类";

而getName方法则不能这样使用,编译都不会通过

getName必须这样:

Per p=new Per();

String name=p.getName();//name="张三";

当然,getType方法也可能通过对象调用:

String type=p.getType();//type="人类";

静态方法获取调用方法有哪些

相关推荐:
  • 微信分付怎么开通额度(微信分付怎么开通额度教程)
  • 旱灾有哪些危害(旱灾会导致什么后果)
  • 天麻煲汤怎么搭配窍门
  • 燕窝用冷水还是热水浸泡比较好
  • 十二生肖言之有理的动物
上一篇:小企业2017(求最新的小企业表,还有一些常用的二级科目) 下一篇:有关假山校园的风景线作文(学校的假山作文三百字)

相关推荐

微信分付怎么开通额度(微信分付怎么开通额度教程)
旱灾有哪些危害(旱灾会导致什么后果)
天麻煲汤怎么搭配窍门
燕窝用冷水还是热水浸泡比较好
十二生肖言之有理的动物
一般浅色拖鞋穿久了会有黄渍那么该怎样去除呢
炒米饭的做法(炒米饭的做法 最正宗的做法)
一产指什么意思?(一产是基础)
豆渣能做花的肥料吗?(豆腐渣能做花的肥料吗)
为什么手动缝纫机缝不住(老式缝纫机缝厚料跳线)
潮流时尚 写作素材 创新创业
生活常识 策划方案 安全知识
自考专业 家居生活 三农创业
励志故事 时尚穿搭 星座知识
热门分类

声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
 蜀ICP备2020033479号-4  Copyright © 2016  学习鸟. 页面生成时间:3.314秒

返回顶部