oop Java如何读取从其他公共类方法传递给args[0]的变量
我试图读取传递给jar文件的参数,但我的疑问是——例如,是否有任何方法可以直接从子类读取父类变量的构造函数
KafkaSparkStreaming是我的父类,而我的hbaseconnection是我的子类,现在我的疑问是如何从父类中获取主机名作为参数传递给我的子类hbaseconnection,而且我不想将其设置为参数,可能整个理解按引用传递和值可能是错误的
父类
public class KafkaSparkStreaming {
public String hostDetails;
public String zipCodePath;
public KafkaSparkStreaming(String[] args){
this.hostDetails = args[0];
this.zipCodePath = args[1];
}
public static void main(String[] args) throws Exception {
if(args.length<2) {
System.out.println("Arguments must be supplied ");
System.out.println("Usage: args[0] --> hostName args[1] --> path of zipcodecsv file");
System.exit(1);
}
KafkaSparkStreaming cdhHost = new KafkaSparkStreaming(args);
}
}
儿童班
public class HbaseConnection extends KafkaSparkStreaming implements
Serializable {
public static String host;
public HbaseConnection(String[] args) {
super(args);
}
private static final long serialVersionUID = 1L;
static Admin hbaseAdmin = null;
public static Admin getHbaseAdmin() throws IOException {
org.apache.hadoop.conf.Configuration conf =
(org.apache.hadoop.conf.Configuration) HBaseConfiguration.create();
conf.setInt("timeout", 12000000);
conf.set("hbase.master","cloudera-instance:60000");
conf.set("hbase.zookeeper.quorum", "cloudera-instance");
conf.set("hbase.zookeeper.property.clientPort", "2181");
conf.set("zookeeper.znode.parent", "/hbase");
Connection con = ConnectionFactory.createConnection(conf);
try {
if (hbaseAdmin == null)
//hbaseAdmin = new HBaseAdmin(conf);
hbaseAdmin = con.getAdmin();
} catch (Exception e) {
e.printStackTrace();
}
return hbaseAdmin;
}
# 1 楼答案
由于
HbaseConnection
是KafkaSparkStreaming
的一个子类,您只需使用其名称访问它,如下所示-# 2 楼答案
由于中使用它
hostDetails
是KafkaSparkStreaming
中的public
属性,并且HbaseConnection
扩展KafkaSparkStreaming
类型的HbaseConnection
对象可以从父类访问该属性。你可以直接在^{