首页 > 其他分享 >ISay obj=(ISay)Class.forName(args[0]).newInstance(); obj.say();

ISay obj=(ISay)Class.forName(args[0]).newInstance(); obj.say();

时间:2023-05-22 13:05:41浏览次数:45  
标签:forName obj void args say ISay catch public

class mainClass  

 { 

public static void main(String[] args)  

{ 

System.out.println(args[0]); 

try{ 

         ISay obj=(ISay)Class.forName(args[0]).newInstance(); 

obj.say(); 

} 

catch (InstantiationException e) { 

// TODO Auto-generated catch block 

e.printStackTrace(); 

} catch (IllegalAccessException e) { 

// TODO Auto-generated catch block 

e.printStackTrace(); 

} catch (ClassNotFoundException e) { 

// TODO Auto-generated catch block 

e.printStackTrace(); 

} 

} 
}

public interface ISay
 {
void say();
 }  
class SayHello implements ISay 
 {
public void say() 
{
System.out.println("Hello!");
}
 }
class SayBye implements ISay 
 {
public void say() 
{
System.out.println("Bye!");
}
 }

标签:forName,obj,void,args,say,ISay,catch,public
From: https://blog.51cto.com/gjwrxz/6322972

相关文章

  • Reflection反射在iOS下使用Objective-C 具体如何使用
       反射,一种计算机处理方式。是程序可以访问、检测和修改它本身状态或行为的一种能力。程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调......
  • 解决报错libssl.so.1.1: cannot open shared object file: No such file or directory
    Centos7默认提供的openssl版本是1.0.2的,某些php扩展或者其他软件依赖1.1以上版本如果过低的话就会报错libssl.so.1.1:cannotopensharedobjectfile:Nosuchfileordirectory也有执行opensslversion时报错和上面一致,这是由于openssl库的位置不正确或未安装1.......
  • 2023年5月20日,重写Object类
    Object类/** *知识点:Object类 *含义:该类是所有类的超类/基类 *理解:如果一个类没有明确继承的父类,都默认继承Object * *equals():判断两个对象内存地址是都相同 * publicbooleanequals(Objectobj){ * return(this==obj); * } * *getClass(......
  • 报错 libmysqlclient.so.20: cannot open shared object file: No such file or direc
    1背景环境:centos7,c++程序最近在重新部署一个老软件都时候遇到libmysqlclient.so.20:cannotopensharedobjectfile:Nosuchfileordirectory错误,这是提示缺失mysql的连接文件2解决方法错误提示已经很明显了,那就缺啥补啥,找一台装过mysql的机器查找此文件[root@localh......
  • Cannot cast Newtonsoft.Json.Linq.JObject to Newtonsoft.Json.Linq.JToken.
    @@CannotcastNewtonsoft.Json.Linq.JObjecttoNewtonsoft.Json.Linq.JToken 解决方法方法参数为[FromBody]objectcontent JObjectjo=(JObject)JsonConvert.DeserializeObject(content.ToString());JToken[]jtoArray=jo["contentBody"].ToArray();List<......
  • uni.request(OBJECT)前端post请求数据json序列化
    一、uni-app前端post请求数据json序列化1.前置须知Content-Type实体头部用于指示资源的MIME(媒体)类型mediatype。在响应中,Content-Type标头告诉客户端实际返回的内容的内容类型。在请求中,客户端告诉服务器实际发送的数据类型。2.uni.request({})官方文档2.1dat......
  • QObject::connect: Cannot queue arguments of type 'QByteArray&' (Make sure 'QByte
    在写功能时,一次从子线程串口读取数据发回给主线程。使用信号槽,QByteArray作为参数,在linux开发板系统下一运行没有任何提示,也没数据。而测试一下使用QString作参数确可以触发槽函数,想不明白为什么,也没查到原因。不得已,只好把相关代码移植到windows下模拟一下慢慢调式。if......
  • fastapi报错TypeError("'numpy.int64' object is not iterable"解决
     目录1.代码1.1main.py1.2start.sh?bug1------[TypeError("'numpy.int64'objectisnotiterable")bug2------"msg":"valueisnotavaliddict",1.代码1.1main.py?12345678910111213141516171819......
  • vue 传参数据丢失或者“[object Object]”
    路由传参3种方式1、地址后面直接带参数2、params传参(相当于post,不会显示在url里面)3、query传参(相当于get,会显示在url里面)当params传参刷新页面的时候,页面容易丢失数据,使用query传参可以避免丢失数据当参数是object时的复杂参数时,接收参数容易变成“[objectObject]”解决办......
  • MySQL8版本之json_keys、json_object、json_overlaps、json_pretty
    CREATETABLE`test_json`(`id`bigintNOTNULLAUTO_INCREMENT,`name`varchar(32)NOTNULL,`age`intNOTNULL,`test_json_array`jsonNOTNULL,`test_json_object`jsonNOTNULL,`test_json_array_object`jsonNOTNULL,`custinfo`jsonDEFAU......