求教:Java支持函数指针吗

Python048

求教:Java支持函数指针吗,第1张

java 不支持函数指针

java可以用接口实现类似函数指针的用法,这种方法叫做代理模式,最简单的代理模式就可以实现类似的在这种用法,本质使用接口实例来代替函数对象。

interface Do {

    void doSomething()

}

class MyDo implements Do {

    @Override

    public void doSomething() {

        System.out.println("i'm doing")

    }

}

class YouDo implements Do {

    @Override

    public void doSomething() {

        System.out.println("you're doing")

    }

}

class ItDo implements Do {

    @Override

    public void doSomething() {

        System.out.println("it's doing")

    }

}

public class Demo {

    public static void main(String args[]) throws IOException {

        Do[] annyDo = new Do[]{new MyDo(), new YouDo(), new ItDo()}

        for (Do nowDo : annyDo) {

            nowDo.doSomething()

        }

    }

}

代理模式相关资料:网页链接

一般不会。Java中的8种基本数据类型,变量的值可以有其默认值,加入没有对其正常赋值,java虚拟机是不能正确编译通过的,因此使用基本的Java数据类型一般不会是不会引起空指针异常的。实际开发中,大多数的空指针异常主要与对象的操作相关。