精华内容
下载资源
问答
  • java调用默认包中

    千次阅读 2017-03-15 11:55:15
    Class c; try { c = Class.forName("co_dc_tpc_TamperProofCodeService"); Method m = c.getDeclaredMethod("encodeStr", String.class...调用静态方法将m.invoke(c, "1111112323");替换上面对应内容;  
    		Class c;
    		try {
    			c = Class.forName("co_dc_tpc_TamperProofCodeService");
    	        Method m = c.getDeclaredMethod("encodeStr", String.class);  
    	        m.invoke(c.newInstance(), "1111112323");
    		} catch (Exception e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}  
    调用静态方法将m.invoke(c, "1111112323");替换上面对应内容;
     
    展开全文
  • 通常情况下:当某个项目需要较高的扩展性时,我们会采用这种方法,一般会将项目需要灵活扩展的地方抽象出对应的接口,再写外部JAR时引入并逐一实现事前约定...当然也可以通过method的invoke调用,但这种方式并不提倡。

    JAVA加载JAR包并调用JAR包中某个类的某个方法示例如下:

    package com.example;
    
    public class Runner implements Runnable{
    
    	public void run() {
    			System.out.println("the writer is running...");
    	}
    
    }


    需要将以上类打包成JAR,通过URLClassLoader读取

    import org.junit.Test;
    
    import java.lang.reflect.Method;
    import java.net.URL;
    import java.net.URLClassLoader;
    
    /**
     * Main
     * Created by Joker on 2017/8/16.
     */
    public class Main {
        @Test
        public void test() throws Exception {
            
            URL url = new URL("file:E:/JavaJars/OtherJar/runner.jar");
            URLClassLoader urlClassLoader = new URLClassLoader(new URL[]{url}, Thread.currentThread().getContextClassLoader());
            Class<?> clazz = urlClassLoader.loadClass("com.example.Runner");
            //Runnable runnable = (Runnable) clazz.newInstance();
            //runnable.run();
            Method method = clazz.getMethod("run");
            method.invoke(clazz.newInstance());
    
        }
    }

    通常情况下:当某个项目需要较高的扩展性时,我们会采用这种方法,一般会将项目需要灵活扩展的地方抽象出对应的接口,在写外部JAR时引入并逐一实现事前约定的好的接口。这样当系统运行时,按照配置文件载入JAR包并读取Class时,可以强转成对应接口以满足我们的需求。当然也可以通过method的invoke调用,但这种方式并不提倡。



    展开全文
  • java调用python的jar包

    2018-12-06 16:36:30
    java调用python的第三方包,在java工程中直接引用即可,亲测可用
  • 当把一个程序编译得到的class文件打成jar包,我们要如何在别的程序中调用这个jar包中呢? 例如下面这个: package util; public class MyClass{ public static void myPrint(){ System.out.println("myclass...
    当把一个程序编译得到的class文件打成jar包,我们要如何在别的程序中调用这个jar包中的类呢?
    例如下面这个类:
    
    package util;
    public class MyClass{
        public static void myPrint(){
            System.out.println("myclass");
        }
    }

    首先来到D:\文件路径下,使用命令行编译生成class文件:
    javac -d D:\ MyClass.java
    然后将class文件打包:
    jar cvf myclass.jar util\MyClass.class
    现在有另一个程序:

    import util.MyClass;
    public class Test{
        public static void main(String[] args){
            MyClass.myPrint();
        }
    
    }

    其中调用了MyClass类,那么编译Test类就要注意添加导入jar文件的路径:
    javac -cp D:\myclass.jar Test.java
    接着执行:
    java -classpath D:\myclass.jar;. Test
    输出myclass,bingo!

    注:

    1. 编译和执行Test过程中必须指明jar包路径,而不用设置环境变量classpath。如果仅设置classpath是行不通的;
    2. jar包不是一层路径,故在Test的调用中直接import进util就可以了。
    展开全文
  • 主要介绍了Java实现从jar包中读取指定文件的方法,涉及java针对jar文件的读取及查找相关操作技巧,需要的朋友可以参考下
  • JAVA不同包(package)的之间如何调用(import)

    万次阅读 多人点赞 2017-04-07 15:43:04
    Java由于应用了package的机制,将不同存放在不同 的类名空间中,如果不同包之间互相调用其中的时,该怎么办呢,是直接调用还是有什么其他方法呢? 【2】属于不同包的之间的调用方法 程序1:Test.java ...

    欢迎关注公众号:VenusBlockChain 致力于区块链技术研究,传播区块链技术和解决方案、区块链应用落地、区块链行业动态等。
    在这里插入图片描述

    #【1】问题描述
    Java由于应用了package的机制,将不同的类存放在不同 的类名空间中,如果不同包之间互相调用其中的类时,该怎么办呢,是直接调用还是有什么其他方法呢?
    #【2】属于不同包的类之间的调用方法
    程序1:Test.java

    package org.it315.example;
    public class Test 
    {
    	public void print() 
    	{
    		System.out.println("Hello World!");
    	}
    }
    

    程序2:TestPackage.java

    package org.it315;
    public class TestPackage 
    {
    	public static void main(String[] args) 
    	{
    		new Test().print();
    	}
    }
    
    

    程序1和2都放在同一目录下:
    这里写图片描述
    执行
    这里写图片描述

    出错的原因是:在类TestPackage中直接调用类Test,编译器会认为这两个类应在同一个包中,即Test完整名称为org.it315.Test。因此,在没有使用import语句时,可以将“程序2”按照下面修改。

    修改“程序1”

    package org.it315;
    public class TestPackage 
    {
    	public static void main(String[] args) 
    	{
    		new org.it315.example.Test().print();
    	}
    }
    
    

    执行
    这里写图片描述

    #【3】import

    • 在上面的修改过程中是,要调用的类直接将一个类的全名给写出来,即加上包名前缀:org.it315.example。
    • 新的问题来了,如果在程序中,要调用很多不再同一个包中的类,按照上述的做法就必须在类名前加上包名前缀。这时,为了简化书写操作,就可以使用import语句来简化此问题。通过使用import语句来导入指定的类的所属包即可。
    • import语句的做法就是在每个.java文件的第一条package语句的后面添加要调用的类的包名。
    • 语法格式为:import PackageName.*;
      import PackageName.ClassaName;

    对“程序2”进行修改:

    package org.it315;
    import org.it315.example.*;//标记1
    //import org.it315.example.Test;//标记2
    public class TestPackage 
    {
    	public static void main(String[] args) 
    	{
    		new Test().print();
    	}
    }
    

    执行
    这里写图片描述

    • 通过重新编译可以发现,正是import语句的使用,我们在使用某个包里的类时,就不再需要写上一长串的包名了(如:org.it315.example)。

    • “标记1”和“标记2”所代表的语句的区别是:”标记1“的import语句导入了整个包中的类,此时程序凡是遇到的org.it315.example包中的类,都不再写包名(org.it315.example)了。”标记2“的import语句只是导入了该包中的Test类,对该包中的其他类不起作用,在程序遇到Test类时,就不再写包名了。然而,对于包中其他的类的调用,就必须写上完整的包名。

    #【4】import使用注意事项

    • 如果两个包中有相同的类名,程序在调用这两个指定的类时,就必须写上完整的包名。如,java.util、java.sql包中都有Date类,程序又同时导入了这两个包中的所有类,如:
    import java.util.*;
    import java.sql.*
    

    这时程序要调用Date类时就需要这个指定的类的地方写上完整的包名,如:java.sql.Date();或者增加一个特定的import语句来解决这个问题:import java.sql.Date;

    • 只能使用星号(*)导入一个包,而不能使用import.java.*或import java.*.*导入以java为前缀的所有包。

    • 父包与子包:如org.it.315.* 和 org.it315.example.*。父包中的类调用子包中的类,必须用子包的全名,不能省略父包名部分。

    • 当import了一个包中的所有类,并不会import这个包中的子类,如果程序中用到了子包的类,需要再次对子包单独导入。

    • import语句应该位于源文件的顶部(但是位于package语句的后面),位于类定义之前。

    修该“程序2“

    package org.it315;
    import org.it315.*;
    public class TestPackage 
    {
    	public static void main(String[] args) 
    	{
    		new Test().print();
    	}
    }
    
    

    执行
    这里写图片描述
    可以发现,编译不成功。由于只是import了类Test的父包,Test本身所在的包并没有导入进去。

    再次修改”程序2”

    package org.it315;
    import org.it315.example.*;
    public class TestPackage 
    {
    	public static void main(String[] args) 
    	{
    		new Test().print();
    	}
    }
    
    

    执行,编译成功,运行成功。
    这里写图片描述

    #【5】静态导入

    • import语句不仅可以导入一个特定的类或整个包。还可以导入静态方法和静态变量。静态导入是JDK1.5版本新增加的一个特性,尽管通常被称为“静态导入”,但注意语法上不是 static import ,而是 import static 。

    • 当在一个类中需要使用外部包中的静态成员变量或成员方法时,可以使用以下方式导入外部静态成员:
      (1)import static 包名.类名.静态成员变量名;
      (2)import static 包名.类名.静态成员方法名;
      (3)import static 包名.类名.*;//使用通配符“*”导入某个类的所有的静态成员。

    • 用实例来说明静态导入的用法:
      (1)按照上述的import导入一个类

    package org.it315.example;
    
    public class TestStaticImport 
    {
    	public static final int age = 100;
    	public static final String name = "Brian";
    	public static void printAge()
    	{
    		System.out.println("AGE = " + age);
    	}
    	public static void printName() 
    	{
    		System.out.println("NAME = " + name);
    	}
    }
    
    
    
    package blog.csdn;
    import org.it315.example.TestStaticImport;
    
    public class TestPackage 
    {
    	public static void main(String[] args) 
    	{
    		int AGE = TestStaticImport.age;
    		String NAME = TestStaticImport.name;
    		//new TestStaticImport().printName();
    		//new TestStaticImport().printAge();
    		TestStaticImport.printName();
    		TestStaticImport.printAge();
    		System.out.println(AGE);
    		System.out.println(NAME);
    	}
    }
    

    这里写图片描述
    (2)使用import static 导入静态成员函数和变量

    package org.it315.example;
    
    public class TestStaticImport 
    {
    	public static final int age = 100;
    	public static final String name = "Brian";
    	public static void printAge()
    	{
    		System.out.println("AGE = " + age);
    	}
    	public static void printName() 
    	{
    		System.out.println("NAME = " + name);
    	}
    }
    
    package blog.csdn;
    //import static org.it315.example.TestStaticImport.*;
    import static org.it315.example.TestStaticImport.age;
    import static org.it315.example.TestStaticImport.name;
    import static org.it315.example.TestStaticImport.printAge;
    import static org.it315.example.TestStaticImport.printName;
    
    public class TestPackage 
    {
    	public static void main(String[] args) 
    	{
    		int AGE = age;
    		String NAME = name;
    		System.out.println(AGE);
    		System.out.println(NAME);
    
    		//new TestStaticImport().printName();
    		//new TestStaticImport().printAge();
    		printName();
    		printAge();
    
    	}
    }
    

    这里写图片描述
    #【6】包的作用域

    • 标记为public的部分可以被任意的类使用;
    • 标记为private的部分只能被定义它们的类使用;
    • 如果没有指定public或private,这个部分(类,方法,变量)可以被同一个包中的所有方法访问。

    #【7】JDK中的最常见的六种包

    • java.lang——包含一些Java语言的核心类,如String、Math、Integer、System和Thread,提供常用功能。
    • java.awt——包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)。
    • java.applet——包含applet运行所需的一些类。
    • java.net——包含执行与网络相关的操作的类。
    • java.io——包含能提供多种输入输出功能的类。
    • java.util——包含一些实用工具类,如定义系统的特性、使用日期日历相关的函数。

    #【8】包package的作用域、类成员的访问控制
    这里写图片描述

    展开全文
  • java调用dll必备jar包

    2018-06-12 10:10:36
    java调用dll 文件的必备jar包和环境,java调用dll 文件的必备jar包和环境
  • Window系统下使用CMD命令调用jar包中有main()方法的java类,并传入参数   使用情景: 前几天网站需要添加一个功能,数据处理在一个单独的可调用java类main方法中, 由此涉及到了 Windows使用CMD命令的方法...
  • 今天小编就为大家分享一篇python调用java的jar包方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • protected修饰的静态属性和方法的调用方式1:直接类名调用 2:实例化父类对象进行调用 3:实例化子对...
  • 我想在main里调用Form包里的Totalpage()方法 首先import声明 import Form.TotalPage; //import 调用的包名.类名; 然后在代码里调用 TotalPage.Totalpage(); //类名.调用的方法名 ...
  • JAVA调用同一个包里的不同类的方法: import static test.max.max
  • java执行jar包中指定的main方法

    千次阅读 2020-05-26 17:07:32
    1.开发中jar包可能不是项目,只是一个工具包需要执行指定的main方法 java -cp bw-pdmantohtml.jar bw.pdmth.PdmToHtmlUtil
  • Java调用Python的jar包

    热门讨论 2015-10-30 14:14:09
    Java调用Python的jar包,使用java调用python的时候jar包,不好找!
  • java同一个包中之间的的调用

    千次阅读 2018-10-19 19:21:00
    如果是静态方法,直接 ...方法名调用如:public class A{public static void T(){System.out.print("这是A的方法");}public void T2(){System.out.print("这是A的非静态方法");}}class B{static void T(){A.T()...
  • java调用oracle包中有返回值得函数 //获取oracle序列号 public String findSeq(){ Connection con=oo.getConnection("system", "Oracle11g"); //连接oracle数据库,新建连接对象 String sequ = "error"; /...
  • java.lang包中常用的及其方法

    千次阅读 2018-03-20 21:24:10
    java.lang包中常用的及其方法 JAVA API(图片来源:实验楼) 包装 Integer包装 方法 返回值 功能描述 byteValue() byte 以 byte 类型返回该 Integer 的值 ...
  • java中import默认包中

    千次阅读 2019-07-13 16:22:59
    假如有一个,直接不加package,也就是属于默认包: /** * Created by bo on 2019/7/13. */ public class Test { public int add(int x, int y) { return x + y; } } 另外一个,处于com包(或者任何非...
  • Java基础知识面试题(2020最新版)

    万次阅读 多人点赞 2020-02-19 12:11:27
    文章目录Java概述何为编程什么是Javajdk1.5之后的...应用程序和小程序的主类有何不同Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...
  • 1、对于同包,只要是非私有,另一个可以直接...2、对于不同的包,假设本包的java.util,要利用另一包java.awt中的Ajava.util import java.awt.*;// import java.awt.A 在本包中可以直接利用A创建对象。 ...
  • java反射调用指定jar包中和方法

    千次阅读 2015-05-25 15:28:43
    需求:动态加载jar包,实例化jar包中,并调用类中的方法 已知:jar包所在路径和jar包名称,类名已知,继承的抽象可以被引入,中的方法已知 实现方法: 1. 手动调用类加载器动态加载jar包; 2. 应用...
  • kettle中使用功能java和JavaScript调用jar中的方法示例
  • Java调用Webservice接口的jar包,里面还含有其他的jar,亲测有效
  • Java 利用反射调用jar包中

    千次阅读 2015-04-03 12:31:47
    下面讲展示的是从image.jar包中调用image.Buddy的方法。 public class Main { public static void main(String[] args) { try { // 两种方式都可以 URL url = new File("/Users/wuchen/Documents/I
  • Java util包中的Random

    千次阅读 2017-10-22 20:30:44
    Random (java.util)  Random中实现的随机算法是伪随机,也就是有规则的随机。在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。 相同种子数的...
  • 使用不同包的同名系统默认顺序: 这里将在com.testpackage包中尝试导入com.a.Test和com.B.Test,分析调用Test的具体包。 Test作为此次测试不同导入包的相同类名。 ·将要导入的包程序 com.a包编写以下程序: ...
  • java中的一个普通class如何调用其他包下的action方法 如果用 xxxAction a = new xxxAction(); a.方法名();结果显示空指针 求大神解答如何调用不是空指针
  • java.lang包中类的总

    2011-12-25 16:35:23
    平时没怎么注意java.lang包中的其他、今天看了毕向东老师视频、发现自己对于API的了解还真是少了、 首先是:System、这个关于java虚拟机和系统的相关信息, import java.util.*; public class SystemDemo{...
  • 场景:一个jar包中,有A,B。A是接口interface,B实现了A。 现在写了一个程序,读取这个jar包,获取该jar包下的所有。(这个程序里也已经写好了接口A)现在判断B是否实现了A(用class.isassignablefrom...
  • java 执行 jar 包中的 main 方法 首先来参考下打jar包的文档: https://jingyan.baidu.com/article/546ae1853f71a91149f28c85.html 关于MANIFEST.MF详解。主要是Class-Path引入外包jar包,参考文档 如下: Class...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 188,240
精华内容 75,296
关键字:

java调用不同包中的类

java 订阅