小编Aru*_*run的帖子

是java中的所有方法都隐含虚拟

如果java中没有编译时绑定,这是否意味着所有绑定都是在运行时完成的?

但是根据OOPs的运行时绑定概念,函数必须有虚拟关键字.在java中隐式虚拟的所有方法或java中是否存在任何编译时绑定

如果有任何编译时绑定,您可以给我一些具体情况,或链接到更多信息

  1. 静态(这里没有绑定的意思,因为静态不属于对象)
  2. final(这不是一个有效点,因为它可以用另一种方式获得)

java

23
推荐指数
2
解决办法
1万
查看次数

如何用Java创建主线程

我是Java技术的新手.我知道Thread在Java中只有两种方法可以创建

  • 扩展Thread类
  • 实现Runnable接口

所以这只是两种创造方式Thread.但是当我们开始使用主JVM开始我们的程序时,一个主要的Thread.我认为即使JVM必须遵循Thread创建主要线程JVM要么必须扩展Thread类或实现的主要手段的规则Runnable.

public class MainThreadExample {

    public static void main(String[] args) {

        Thread t=Thread.currentThread();            
        System.out.println(t.getName());            
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试了最好的水平,但不知道JVM是如何创建这个主要对象的.当我完全通过主类(sun.tool.jar)时,我知道这是负责主线程的类.但是在搜索了如此多的Google网页后无法得到它.所以请帮助,如果可能的话,请参考我的示例或链接.

PS:我正在学习Java技术,我不应该打扰他们如何创建主要技术,所有这些都是设计的东西.但我认为这是一个合乎逻辑的问题

java

14
推荐指数
1
解决办法
1730
查看次数

在调试模式下启动时显示Eclipse无法连接到VM错误

Eclipse正在显示当我在调试模式下打开任何程序时无法连接到VM错误.这是异常堆栈

 java.net.SocketException: socket closed
    at java.net.PlainSocketImpl.socketAccept(Native Method)  //I dont know which socket is closed in my PC
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
    at java.net.ServerSocket.implAccept(ServerSocket.java:453)
    at java.net.ServerSocket.accept(ServerSocket.java:421)
    at org.eclipse.jdi.internal.connect.SocketTransportService.accept(SocketTransportService.java:95)
    at org.eclipse.jdi.internal.connect.SocketTransportImpl.accept(SocketTransportImpl.java:56)
    at org.eclipse.jdi.internal.connect.SocketListeningConnectorImpl.accept(SocketListeningConnectorImpl.java:135)
    at org.eclipse.jdt.internal.launching.StandardVMDebugger$ConnectRunnable.run(StandardVMDebugger.java:107)
    at java.lang.Thread.run(Thread.java:619)
Run Code Online (Sandbox Code Playgroud)

即使我的Localhost工作正常,我ping 127.0.01和localhost都工作正常,即使我重新启动我的电脑甚至得到相同的错误.不知道我的PC中关闭了哪个套接字.请帮助我..我正在使用eclipse 8.x.

java

10
推荐指数
2
解决办法
3万
查看次数

构造函数是静态的或非静态的

根据标准的book构造函数是一种特殊类型的函数,用于初始化对象.构造函数被定义为函数,而类函数内部只能有两种类型的静态或非静态.我怀疑构造函数是什么?

1.)As constructor is called without object so it must be static

  Test test =new  Test();//Test() is being called without object
   so must be static
Run Code Online (Sandbox Code Playgroud)

我怀疑的是,如果构造函数是静态方法,那么我们如何经常使用这个内部构造函数

Test(){
    System.out.println(this);
}
Run Code Online (Sandbox Code Playgroud)

输出Test@12aw212意味着构造函数是非静态的吗?

java

9
推荐指数
1
解决办法
6681
查看次数

为什么对象类不取null

我知道原始数据类型的情况下的自动类型提升概念.但是在参考数据类型的情况下,我有下面的代码,它完美地工作.

public class Test4 {

void set(Object o) {
    System.out.println("Inside Object");
}

void set(double[] a) {
    System.out.println("Array");
}
public static void main(String[] args) {
    new Test4().set(null);

}
}
Run Code Online (Sandbox Code Playgroud)

它给出了输出数组.

但是如果代替Object o,如果我们有任何其他类,那么这将显示编译时错误该方法对于类型Test4是不明确的

下面的代码给出了编译时错误

public class Test4 {

/*void set(Object o) {
    System.out.println("Inside Object");
}*/

void set(String s) {
    System.out.println("String");
}
void set(double[] a) {
    System.out.println("Array");
}
public static void main(String[] args) {
    new Test4().set(null);

}

}
Run Code Online (Sandbox Code Playgroud)

据我所知,每个参考数据类型(类,接口和数组)的默认值为null.

那么为什么上面的代码适用于Object o.

提前致谢

java overloading

0
推荐指数
1
解决办法
129
查看次数

Java使用值调用,但在StringBuffer的情况下使用奇怪的行为

我是java技术的新手,可能是一个简单的问题,但我很困惑.我知道java中没有引用调用的概念.它只使用按值调用,即将副本传递给另一个方法

请检查以下代码的输出

public class Test {

    public static void main(String[] args) {
        StringBuffer a = new StringBuffer ("A");  
        StringBuffer b = new StringBuffer ("B");
        System.out.println("Before Operate"+a + "," +b);
         operate (a,b);
        System.out.println(a + "," +b);
    }
     static void operate (StringBuffer x, StringBuffer y) {
     x.append(y);
     y = x.append("C");
     y.append("D");
    }
}
Run Code Online (Sandbox Code Playgroud)

以上代码的输出为:ABCD,B(Second Syso)

我不知道为什么这会把所有东西都追加到b中.我google了很多,但它只会造成混乱.如果有人完全详细说明,那将会很有帮助.

提前致谢

PS: - 如果已经在这个论坛上被问到,请给我一个链接,因为我无法找到它.

java stringbuffer

0
推荐指数
1
解决办法
224
查看次数

标签 统计

java ×6

overloading ×1

stringbuffer ×1