关于java问题-java方法是怎样运行的

问题描述

java方法是怎样运行的

public static void main(String[] args){
StringBuilder a=new StringBuilder("A");
StringBuilder b=new StringBuilder("B");
replace(a,b);
System.out.println(a+","+b);
}
public static void replace(StringBuilder m,StringBuilder n){
m.append(n);
//n=m;//方式一
//n.append(m);//方式二
System.out.println(m+"..."+n);
}
若不注释方式一:输出是
AB...AB
AB,B
若不注释方式二:输出是
AB...BAB
AB,BAB

我想问的主要是为什么方式一的输出是AB,B而不是AB,AB

解决方案

3.3. Java Native Interface
A distinction is made between programs compiled for the virtual machine and
programs compiled to run on a speci c computation platform, like Intel x86 or
ARM. Programs co......
答案就在这里:java 在芯片上运行的方法

解决方案二:

在replace方法中,n=m只是赋值,并没有改变b的构建长度,主要是理解StringBuilder数据方式

时间: 2024-08-31 14:52:51

关于java问题-java方法是怎样运行的的相关文章

java,main方法中可以运行,为啥被调用时不起作用,

问题描述 java,main方法中可以运行,为啥被调用时不起作用, public class Test { // public static void main(String[] args){ public static void sendMail(){ //这个类主要是设置邮件 MailSenderInfo mailInfo = new MailSenderInfo(); .............. 之前用main方法运行时,(就是鼠标右键运行那种),是可以的, 为啥把方法换成sendMai

java调用固有方法

我们先从一个简单的例子开始:一个Java程序调用固有方法,后者再调用Win32的API函数MessageBox(),显示出一个图形化的文本框.这个例子稍后也会与J/Direct一志使用.若您的平台不是Win32,只需将包含了下述内容的C头: #include <windows.h> 替换成: #include <stdio.h> 并将对MessageBox()的调用换成调用printf()即可. 第一步是写出对固有方法及它的自变量进行声明的Java代码:   class ShowM

java中除了方法可以使用throws关键词抛出异常外,类可以吗

问题描述 java中除了方法可以使用throws关键词抛出异常外,类可以吗 java中除了方法可以使用throws关键词抛出异常外,类可以吗,可不可以抛来抛去而不处理它 解决方案 方法中如果需要抛出异常,就只能用throws异常的,那么调用这个方法的地方必须处理这个抛出的异常.如果调用了抛出异常的方法,要么使用try-catch处理该异常,要么直接抛给它的上层调用者.最后如果都没有处理,那么运行时就由JVM进行处理,那么程序就会出错了. 解决方案二: 类不可以抛出异常,方法抛出的异常交给调用者处

JAVA执行javascript方法

之前在一次机缘巧合的情况下,需要时用JAVA执行js方法,查阅了一些文档,找到了相关解决方法,这里和大家分享一下. 在JDK1.6中为我们提供了一个ScriptEngineManager类,ScriptEngineManager 为 ScriptEngine 类实现一个发现和实例化机制,还维护一个键/值对集合来存储所有 Manager 创建的引擎所共享的状态.此类使用服务提供者机制枚举所有的 ScriptEngineFactory 实现. ScriptEngineManager 提供了一个方法,

java问题新手求帮助,运行有问题

问题描述 java问题新手求帮助,运行有问题 我正在学习java,自己写了一个程序,运行时选择第七点出错,不知道是不是ShowHTD类有错还是怎么回事,求大神帮忙解决,代码和报错信息附上, 代码: /* 功能:员工管理系统 时间:2013.09.05 */ package pack1; import java.util.*; import java.io.*; public class Employeemanage { /** * @param args */ public static voi

跪求!!!java中,方法能调用自身吗?

问题描述 跪求!!!java中,方法能调用自身吗? 为实现对Student类中age的封装,使用了setage(),想实现当年龄不在一定范围内是提示输入错误并重新输入,重新输入我想通过再次运行setage()来实现,用this会出错,可是应该怎样操作?代码如下:public void setAge(int age) { if(this.age<15) { System.out.println("输入有误,请重新输入"); //this.setAge(int age); } els

java垃圾回收机制-java堆中方法区中的内容会被删除么

问题描述 java堆中方法区中的内容会被删除么 java有垃圾回收机制,会自动回收不使用的对象,问题一:那在堆中的方法区中存储的关于类的代码以及常量池等这些信息会, 在不使用这个类以后,这些信息是会被销毁么?怎样被销毁呢?是由GC回收么?问题二:栈中自动分配的存储的对象引用会被自动销毁么?代码运行之后销毁么? 解决方案 堆上没有什么方法区.代码放在代码区,函数的局部变量放在堆栈上.栈中自动分配的存储的对象引用会被自动销毁么,是的,在函数返回的时候销毁.

java简易人机对战五子棋运行没反应

问题描述 java简易人机对战五子棋运行没反应 我是一名java新人,前两天写了一个人人对战的五子棋.可以实现简单的功能,人人对战. 我想实现简单的人机对战,可是完成后.点运行,棋盘没反应电脑CPU也从8上升到26左右.点关闭也没反应.Ctrl+Alt+Del也没用. 所以特来发帖,有哪位大神可以帮我看看..真的是没有经验.这是写的第一个JAVA 程序.连ecplise的单步运行也不会. 解决方案 [F5]:跟踪到方法中,当程序执行到某方法时,可以按[F5]键跟踪到方法中. [F6]:单步执行程

解析Java继承中方法的覆盖和重载_java

方法的覆盖 在类继承中,子类可以修改从父类继承来的方法,也就是说子类能创建一个与父类方法有不同功能的方法,但具有相同的名称.返回值类型.参数列表. 如果在新类中定义一个方法,其名称.返回值类型和参数列表正好与父类中的相同,那么,新方法被称做覆盖旧方法. 参数列表又叫参数签名,包括参数的类型.参数的个数和参数的顺序,只要有一个不同就叫做参数列表不同. 被覆盖的方法在子类中只能通过super调用. 注意:覆盖不会删除父类中的方法,而是对子类的实例隐藏,暂时不使用. 请看下面的例子: public c