I just started Java and search everywhere, but for whatever reason wasn't able to find a solution. My problem seems simple to me: I have two classes in the same folder, that folder is my package, so to illustrate:
packageE/Class1.java
packageE/Class2.java
I need to make an instance of class 1 in class2, but it just doesn't work. Here's a sample:
file path: packageE/Class1.java
package packageE
public class Class1 {... something ...}
file path: packageE/Class2.java
package packageE
public class Class2 {
public void main (String[] args) {
Class1 object = new Class1();
}
I get this error
Class2.java:52: error: cannot find symbol
Class1 object = new Class1();
^
symbol: class Class1
location: class Class2
Class2.java:52: error: cannot find symbol
Class1 object = new Class1();
^
symbol: class Class1
location: class Class2
As requested, the full source code: NOTE: class1 = ClientIndividual AND class2 = Stakeholders
FIRST FILE
package substitutiva;
import java.util.ArrayList;
import java.util.Scanner;
public class Stakeholders {
static ArrayList<Object> companyList = new ArrayList<>();
ArrayList<Object> individualList = new ArrayList<>();
ArrayList<Object> employeeList = new ArrayList<>();
public static void addToRegistry (Object person) {
System.out.println(person.getClass());
companyList.add(person);
}
public static void main (String[] args) {
Scanner read = new Scanner(System.in);
// select action
String selectedAction = "";
while (selectedAction != "1" && selectedAction != "2") {
System.out.println("Selecione uma ação:");
System.out.print("1. Cadastrar");
System.out.println("2. Listar registros");
selectedAction = read.nextLine();
if (selectedAction != "1" && selectedAction != "2") {
System.out.println("Opção indisponível! \n");
}
}
// select person
String selectedOption = "";
while (selectedOption != "1" && selectedOption != "2" && selectedOption != "3") {
System.out.println("Qual tipo de pessoa deseja acessar?");
System.out.println("1. Funcionário");
System.out.println("2. Cliente PF");
System.out.println("3. Cliente PJ");
selectedOption = read.nextLine();
if (selectedOption != "1" && selectedOption != "2" && selectedOption != "3") {
System.out.println("Opção indisponível! \n");
}
}
// register
if (selectedAction == "1") {
switch (selectedOption) {
case "1":
break;
case "2":
ClientIndividual personObject = new ClientIndividual();
addToRegistry(personObject);
break;
case "3":
break;
default:
break;
}
}
// list
else if (selectedAction == "2") {
switch (selectedOption) {
case "1":
break;
case "2":
break;
case "3":
break;
default:
break;
}
}
read.close();
}
}
SECOND FILE
package substitutiva;
import java.util.Scanner;
public class ClientIndividual implements Person {
String name;
String cpf;
@Override
public void registerPerson() {
Scanner read = new Scanner(System.in);
System.out.println("Nome: ");
this.name = read.nextLine();
System.out.println("CPF: ");
this.cpf = read.nextLine();
read.close();
}
// constructor
public ClientIndividual(){};
// getters & setters
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public String getCpf() {
return this.cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
}
THIRD FILE (INTERFACE)
package substitutiva;
public interface Person {
public void registerPerson ();
}
THE ORIGINAL ERROR
Stakeholders.java:52: error: cannot find symbol
ClientIndividual personObject = new ClientIndividual();
^
symbol: class ClientIndividual
location: class Stakeholders
Stakeholders.java:52: error: cannot find symbol
ClientIndividual personObject = new ClientIndividual();
^
symbol: class ClientIndividual
location: class Stakeholders