java中如何调用类?

Python0146

java中如何调用类?,第1张

一、本类中的直接方法名调用,不管是public还是private或protected。

二、其他类中的如果是public的话,直接其他类的对象调用即可。

三、如果是static的话直接其他类名加方法名调用。

Java:

是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

你所说的java文件是什么文件?如果是java源码文件是不能调用的,但如果是编译后的class文件可以通过类加载器进行加载,然后通过反射调用;但一般会通过实现特定的接口来简化调用过程。一个自定义的类加载器如下:

 class MyClassLoader extends ClassLoader {  

        //类加载器的名称  

        private String name  

        //类存放的路径  

        private String path = "E:\\bin"  

        MyClassLoader(String name) {  

            this.name = name  

        }  

        MyClassLoader(ClassLoader parent, String name) {  

            super(parent)  

            this.name = name  

        }  

        /** 

         * 重写findClass方法,加载特定目录下的类文件

         */  

        @Override  

        public Class<?> findClass(String name) {  

            byte[] data = loadClassData(name)  

            return this.defineClass(name, data, 0, data.length)  

        }  

        public byte[] loadClassData(String name) {  

            try {  

                name = name.replace(".", "//")  

                FileInputStream is = new FileInputStream(new File(path, name + ".class"))  

                ByteArrayOutputStream baos = new ByteArrayOutputStream()  

                int b = 0  

                while ((b = is.read()) != -1) {  

                    baos.write(b)  

                }  

                return baos.toByteArray()  

            } catch (Exception e) {  

                e.printStackTrace()  

            }  

            return null  

        }  

    }

String sendPost(String jsonStr, String path)\x0d\x0athrows IOException {\x0d\x0abyte[] data = jsonStr.getBytes()\x0d\x0ajava.net.URL url = new java.net.URL(path)\x0d\x0ajava.net.HttpURLConnection conn = \x0d\x0a(java.net.HttpURLConnection) url.openConnection()\x0d\x0aconn.setRequestMethod("POST")\x0d\x0aconn.setConnectTimeout(5 * 1000)// 设置连接超时时间为5秒 \x0d\x0aconn.setReadTimeout(20 * 1000)// 设置读取超时时间为20秒 \x0d\x0a// 使用 URL 连接进行输出,则将 DoOutput标志设置为 true\x0d\x0aconn.setDoOutput(true)\x0d\x0a \x0d\x0aconn.setRequestProperty("Content-Type", "text/xmlcharset=UTF-8")\x0d\x0a//conn.setRequestProperty("Content-Encoding","gzip")\x0d\x0aconn.setRequestProperty("Content-Length", String.valueOf(data.length))\x0d\x0aOutputStream outStream = conn.getOutputStream()// 返回写入到此连接的输出流\x0d\x0aoutStream.write(data)\x0d\x0aoutStream.close()//关闭流\x0d\x0aString msg = ""// 保存调用http服务后的响应信息\x0d\x0a// 如果请求响应码是200,则表示成功\x0d\x0aif (conn.getResponseCode() == 200) {\x0d\x0a// HTTP服务端返回的编码是UTF-8,故必须设置为UTF-8,保持编码统一,否则会出现中文乱码\x0d\x0aBufferedReader in = new BufferedReader(new InputStreamReader(\x0d\x0a(InputStream) conn.getInputStream(), "UTF-8"))\x0d\x0amsg = in.readLine()\x0d\x0ain.close()\x0d\x0a}\x0d\x0aconn.disconnect()// 断开连接\x0d\x0areturn msg\x0d\x0a}