Java如何读取从其他公共(public)类方法传递给args[0]的变量

标签 java oop command-line-interface args

我正在尝试读取传递给 jar 文件的参数,但我的疑问是 - 例如,是否有任何方法可以直接从子类读取父类变量的构造函数

KafkaSparkStreaming 是我的父类,我的 hbaseconnection 是我的子类,现在我的疑问是如何从父类获取主机名作为参数传递给我的子类 Hbaseconnection 我也不想将其设置为参数,也许整个理解都会被忽略引用和值(value)可能是错误的。

父类

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);
  }
}

child 类(class)

 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;

 }

最佳答案

由于 hostDetailsKafkaSparkStreaming 中的 public 属性,并且 HbaseConnection 扩展了 KafkaSparkStreaming HbaseConnection 类型的对象可以从父类访问该属性。您可以直接在HbaseConnection中使用它。

关于Java如何读取从其他公共(public)类方法传递给args[0]的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53961828/

相关文章:

c# - 库存控制系统的类结构

imagemagick - 使用 (imagemagick) `mogrify` 将 webp 文件转换为动画 gif 时如何避免丢失?

awk - CLI 将两个不均匀列表组合在两个不同的文件中

java - 如何使用Java忽略srt文件中的空行

java - 当 onChildAdded 事件被触发时,如何在 Firebase 中获取父项?

java - JTabbedPane 中禁用的选项卡上的单击事件

java - eclipse调试器: enter a method without entering nested methods

c# - DDD 和基于重型基础设施的 'domains' - DDD 在这里失败了吗?

oop - 框架如何影响应用程序的架构?

java - 无法使用命令行运行javafx项目