Java 需要使用其他类中的字符串

Java 需要使用其他类中的字符串,java,Java,我正在尝试从一个类访问另一个类中的字符串。第一类如下所示: import java.sql.*; 导入javax.swing.*; 导入java.text.simpleDataFormat; 导入java.util.Date; 公共类使用数据{ 连接=空; public void usePart1Part2(字符串part1、字符串part2、字符串part3、字符串part4){ SimpleDataFormat格式=新的SimpleDataFormat(“dd-M-yyyy hh:mm:ss

我正在尝试从一个类访问另一个类中的字符串。第一类如下所示:

import java.sql.*;
导入javax.swing.*;
导入java.text.simpleDataFormat;
导入java.util.Date;
公共类使用数据{
连接=空;
public void usePart1Part2(字符串part1、字符串part2、字符串part3、字符串part4){
SimpleDataFormat格式=新的SimpleDataFormat(“dd-M-yyyy hh:mm:ss”);
字符串日期=format.format(新日期());
connection=SQliteConnectionClass.dbconnector();
试一试{
字符串值1=part1//
字符串值2=part2//
字符串值3=零件3//
String value4=part4;//需要在GenerateSummonPDF.java中使用数据
字符串时间戳=日期;
值1到值4用于下面的GenerateSummonPDF类:

public class GenerateSummonPDF {

    public static void main(String[] args) {
        Document document = new Document();
        try {
            PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("C:\\Users\\User\\workspace\\enforement system\\Summon PDF list\\Serial No.pdf"));
            document.open();
            document.add(new Paragraph("the data(value1 to value4 need to print it out here"));  //here is where i need the data
            document.close();
            writer.close();
        } catch (DocumentException e) {
            e.printStackTrace();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

提前感谢您的帮助。

您可以使用getter。下面是作为使用数据的方法添加的getter的演示:

        public class UseData {

        private String value1;

        public void usePart1Part2(String part1, String part2, String part3, String part4)
        {
            value1 = part1;
        }

        /**
         * Getter for value1
         * @return the value1
         */
        public String getValue1() {
            return value1;
        }

    }
至于从另一个类调用getter:

    public class GenerateSummonPDF {

        /**
         * @param args
         */
        public static void main(String[] args) {

            UseData usedata = new UseData();
            String value1 = usedata.getValue1();
        }

    }
然后在下一个类中生成对象并从这些方法中获取值 像这样的东西

useData obj=new UseData();
String s=obj.getValue1();
我希望你能从中受益。
快乐学习java

我应该编写一个示例代码,还是你想修改这个代码,或者使用setter,或者将其作为参数传递给一个方法。你似乎在为一个不知道如何传递字符串(或任何其他)的人编写非常高级的材料对象从一个类到另一个类。如果可能,请进行修改以使其更清晰。thaks@kumarsarabh您的具体问题是什么?您是否不确定如何使用
usedata
(应按照Java标准大写)在您的
GenerateSummonPDF
的main方法中?请参考java基础知识。那么我应该在下一个类中调用getValue1?在下一个类中调用这些方法class@calvin为了回答你的问题,我添加了一个调用getter的演示。@OferYuval我已经尝试了你上面显示的方式,我发现这并不是我真正想要的需要。对于“usePart1Part2”中的字符串数据,会不断更新。上面的代码会不断返回类似“part1Value”的值@calvin ern你可能需要一个解决方案,比如一个可观察的对象,但我认为这是一个不同的问题。我建议你阅读并发布另一个描述你需要的问题。我编辑了i idention以使其更具可读性,并进行了投票。感谢编辑。我想自己做的一个编辑是,类名也不好,但这里是asker对java来说似乎是新手,所以没有复杂的事情。Stack是关于改进的,所以感谢您抽出时间来帮助我们edit@KumarSaurabh我尝试了你上面展示的方式,我发现这并不是我真正想要的。对于“usePart1Part2”中的字符串数据上面的代码会不断返回类似于“part1Value”的值,你所说的使用part1part2是什么意思?
import java.sql.*;
import javax.swing.*;
import java.text.SimpleDateFormat;
import java.util.Date;


public class usedata {
public String part1;
public String part2;
public String part3;
public String part4;
Connection connection=null;

public void usePart1Part2(String part1, String part2, String part3, String part4)
{
this.part1 = part1
this.part2 = part2
this.part3 = part3
this.part4 = part4
Date curDate = new Date();
SimpleDateFormat format = new SimpleDateFormat("dd-M-yyyy hh:mm:ss");
        String DateToStr = format.format(curDate);
connection= SQliteConnectionClass.dbconnector();
try {

   String value1 = part1;   //
   String value2 = part2;   //
   String value3 = part3;   //
   String value4 = part4;   // data need to be used in 
   String Timestramp = DateToStr;
....

public class GenerateSummonPDF {

public static void main(String[] args)
   {
      userdata ud = new userdata();
      //you can't acces to the other class attribut
      System.out.println(ud.part1 + ud.part2 + ud.part3 + ud.part4);
      Document document = new Document();
      try
      {
     PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("C:\\Users\\User\\workspace\\enforement system\\Summon PDF list\\Serial No.pdf"));
     document.open();
     document.add(new Paragraph("the data(value1 to value4 need to print it out here"));  //here is where i need the data
     document.close();
     writer.close();
      } catch (DocumentException e)
  {
     e.printStackTrace();
  } catch (FileNotFoundException e)
  {
     e.printStackTrace();
  }
   } 
useData obj=new UseData();
String s=obj.getValue1();
import java.sql.*;
import javax.swing.*;
import java.text.SimpleDateFormat;
import java.util.Date;


public class usedata {
public String part1;
public String part2;
public String part3;
public String part4;
Connection connection=null;

public void usePart1Part2(String part1, String part2, String part3, String part4)
{
this.part1 = part1
this.part2 = part2
this.part3 = part3
this.part4 = part4
Date curDate = new Date();
SimpleDateFormat format = new SimpleDateFormat("dd-M-yyyy hh:mm:ss");
        String DateToStr = format.format(curDate);
connection= SQliteConnectionClass.dbconnector();
try {

   String value1 = part1;   //
   String value2 = part2;   //
   String value3 = part3;   //
   String value4 = part4;   // data need to be used in 
   String Timestramp = DateToStr;
....

public class GenerateSummonPDF {

public static void main(String[] args)
   {
      userdata ud = new userdata();
      //you can't acces to the other class attribut
      System.out.println(ud.part1 + ud.part2 + ud.part3 + ud.part4);
      Document document = new Document();
      try
      {
     PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("C:\\Users\\User\\workspace\\enforement system\\Summon PDF list\\Serial No.pdf"));
     document.open();
     document.add(new Paragraph("the data(value1 to value4 need to print it out here"));  //here is where i need the data
     document.close();
     writer.close();
      } catch (DocumentException e)
  {
     e.printStackTrace();
  } catch (FileNotFoundException e)
  {
     e.printStackTrace();
  }
   }