「Java类内部调用方法」java中调用方法

博主:adminadmin 2022-11-22 01:00:09 72

今天给各位分享Java类内部调用方法的知识,其中也会对java中调用方法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java同一个类中的方法调用?

您好,你的问题,我之前好像也遇到过,以下是我原来的解决思路和方法,希望能帮助到你,若有错误,还望见谅!展开全部

1、如果一个类中只有一个名称为a的方法,那么我们可以直接调用即可,如下图所示

2、以下是我们直接使用传统的方式直接调用这个类中的a方法。

3、但是如果一个类中,拥有多个方法名一样的方法,那么我们使用反射机制,要如何去调用这些方法呢,如下图所示,一个类中有多个方法名相同的方法。

4、可能已经注意到了,虽然他们具有相同的方法名,但是他们却有着一些差异非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!

Java中的一个类怎么调用另一个类中的方法

public class  调用

{

public static void main(String[] args) 

{

System.out.println("\n\t\t==========Java中的一个类怎么调用另一个类中的方法!==========\n");

init();

}//初始化!

private static void init()

{

//创建A类对象

A a=new A();

a.show2();

a.show1();

System.out.println("\n------------------------------分割线--------------------------\n");

//创建B类对象

B b=new B();

b.method1();

b.method2();

}

}

//A类!

class A

{

void show1()

{

System.out.println("这个是A类中的show1方法,调用B类的method1方法");

new B().method1();

}

void show2()

{

System.out.println("这个是A类中的show2方法!");

}

}

//B类!

class B

{

void method1()

{

System.out.println("这个是B类中的method1方法!");

}

void method2()

{

System.out.println("这个是B类中的method2方法!调用A类的show2方法");

new A().show2();

}

}

「Java类内部调用方法」java中调用方法

java 主方法怎么调用内部类的方法

System.out.println(x);//这个是55

System.out.println(In.x);//这个是9

楼主这两行是对的,楼上是不用兄弟认为人家这儿错了?

1,后面那个是无法做到的那个x是方法 的局部变量,在进入方法时被推到栈里,方法结束后就出栈了。除非有方式可以跑一个在主方法中的线程监控当前栈中变量,就像是Debug一样,我也研究好久这个,不过没发现有。

2,

也像1一样没有侵入性,你可以用字节码框架去操作类,动态地改变方法的行为,也就是说你可以在main方法中用程序语言去改变doit(x)方法里所做的事情。

3,

再侵入点儿,你可以传进那个doit(int)方法一个Callback, 你明白我意思?给你看个回调式:

public class HelloJava{

private interface Listener{

public void listenDoit(int x);

}

private static int x=55;

private class In{

private Listener listener;

private static final int x=9;

public In(Listener listener){this.listener=listener;}

public void doit(int x){

listener.listenDoit(x);

x=6;//这个X和上一行的应该是同一个吧?怎么在主方法里输出这个量?

listener.listenDoit(x);

HelloJava.this.x++;

}

}

public static void main(String[] args){

System.out.println(x);//这个是55

System.out.println(In.x);//这个是9

In in =new HelloJava().new In(new Listener(){

@Override

public void listenDoit(int x) {

System.out.println(x);

}});

in.doit(0);

System.out.println(x);//这个是55

System.out.println(In.x);//这个是10

}

}

还有许多方式可以做到,比如代理模式等等,不过都大同小异。该方法好处是不改变方法的原定义模型。如返回值从void改成int,如果doit的返回值本身就是String,要返回个其他的东西,怎么去改变返回值完成?

另外运行一下会发现最后两行输出不是55

10,

而是56,

9,你就知道HelloJava.this.x++;做的是什么了。

4,然后就是楼上朋友们都说的方式,返回值。

java中,关于类中的方法的调用有哪些?

Java中主类不可以用static修饰,也就是不能为静态的。但是可以作为某个类的内部类用static修饰。如果B是A的静态内部类,可以直接用A.B调用。因为static修饰的成员是属于类的,不是对象,可以直接调用。

——————————————————

A,B两个类,在B类里,需要先实例化A类,然后再用A的对象去调用其中的方法

A a=new A(); a.A的方法();

关于Java类内部调用方法和java中调用方法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-22,除非注明,否则均为首码项目网原创文章,转载请注明出处。