Como criar pacotes diferentes para classes diferentes em Java?
Deixe-nos saber primeiro o que é uma classe e um pacote em Java. A classe em java é um modelo para a criação de objetos. Isso significa que as propriedades e ações dos objetos são escritas em classe. As propriedades são representadas por variáveis e as ações dos objetos são representadas por métodos. Portanto, uma classe contém variáveis e métodos. As mesmas variáveis também estão disponíveis nos objetos porque são criadas a partir da classe. Essas variáveis também são chamadas de 'variáveis de instância' porque são criadas dentro do objeto (instância).
Ilustração:
class Human { // Properties --> Instance variables String name; int age; // Actions --> methods void speak() { System.out.println("Hey there! I am " + name); System.out.println("My age is " + age); } }
Saída:
Hey there! I am Vasanth Kumar My age is 20
Nota: aqui, a palavra-chave class é usada para declarar uma classe. Depois disso, devemos escrever um nome de classe. Na classe, escrevemos variáveis e métodos de instância.
Pacotes em Java
Em Java, os pacotes são uma coleção de classes, subpacotes e interfaces. ou seja, um pacote representa um dicionário que contém um grupo relacionado de classes e interfaces. Sempre que escrevemos uma instrução, seja como mostrado abaixo, estamos importando todas as classes do pacote java.io. *. Aqui, java é um nome de diretório e io é outro subdiretório dentro dele. E o * representa todas as classes e interfaces desse subdiretório io.
import java.io.*;
Temos muitos desses pacotes, por exemplo, java.lang, java.util , e existem muitos mais dentro dos quais estão as classes dentro do pacote. Para usar isso, vamos pegar os pacotes usados com mais frequência que são pacotes 'lang' para design java e pacote 'io' para operações de entrada-saída.
Vamos discutir as vantagens dos pacotes em java que são os seguintes:
- Os pacotes são úteis para organizar classes relacionadas a interfaces em um grupo. Isso reúne todas as classes e interfaces que executam a mesma tarefa no pacote. Por exemplo, em Java, todas as classes e interfaces que realizam operações de entrada e saída são armazenadas no pacote java.io.
- Os pacotes ocultam as classes e interfaces em um subdiretório separado.
- As classes e interfaces de um pacote são isoladas das classes e interfaces de outro pacote.
Existem dois tipos de pacotes em java, conforme listado:
- Tipo 1: pacotes integrados
- Tipo 2: pacotes definidos pelo usuário
Tipo 1: Pacotes integrados
Esses são os pacotes que já estão disponíveis na linguagem Java. Esses pacotes fornecem quase todas as classes, interfaces e métodos necessários para que o programador execute qualquer tarefa. Eles são os seguintes:
java.lang java.util java.io java.awt java.net java.applet java.text java.sql javax.swing
Tipo 2: Pacotes definidos pelo usuário
Assim como os pacotes integrados mostrados anteriormente, o usuário da linguagem java também pode criar seus próprios pacotes. Eles são chamados de Pacotes Definidos pelo Usuário. Esses pacotes também podem ser importados para outras classes e usados exatamente da mesma maneira que os pacotes integrados.
Sintaxe : Criando um pacote, a palavra-chave do pacote é usada
2.1.1 Para criar um pacote
package package_name ;
2.1.2 Para criar um subpacote dentro de um pacote
package package_name.subpackagename ;
2.2 Compilar
C:\> javac -d . classname.java
2.3 Para executar o programa
C:\> java packagename.classname
A sintaxe acima é válida apenas para windows CMD shell, fo rlinux e mac zsh shell referem-se à mídia abaixo, pois a percebem da mesma forma fornecida abaixo
Implementação:
Agora vamos dividir a classe em pacotes
Etapa 1: Defina uma classe StudentData que contenha as seguintes informações de um aluno:
- ID: É uma string que armazena a ID única de cada aluno
- Nome: É uma string que indica o nome do aluno.
Observe que esses campos devem ser declarados privados.
Etapa 2: Crie outra classe StudentDataExtended com um atributo privado chamado local. É basicamente uma string que armazena a localização do aluno.
Etapa 3: Agora nesta aula, defina um método addDetails() método que armazena os detalhes dos alunos; e um método printDetails() que exibe os detalhes dos alunos na ordem de classificação de seus id.
Nota : Ambas as classes devem estar em pacotes diferentes
Ilustração:
Enter the number of students : 2 Enter the details of Student 1 (id, name, location): B200 Ajay Hyderabad Enter the details of Student 2 (id, name, location): B100 Ramesh Hyderabad
Saída:
The Student Details are: B100 Ramesh Hyderabad B200 Ajay Hyderabad
Implementação:
Agora vamos apresentar exemplos reais executáveis para implementar o que discutimos e ilustramos acima:
Exemplo 1-A:
// Java Program Illustrating Dividion of Classes into
// Packages where Class StudentData
// which creates first package i.e pack1
// Importing package
package pack1;
// Main class
public class StudentData {
private String id;
private String name;
// Method 1
public void addStudentData(String id, String name)
{
// This keyword refers to current instance itself
this.id = id;
this.name = name;
}
// Getter setters Methods
// Use getter methods so that we can
// access private members for other packages
public String getId() { return id; }
public String getName() { return name; }
}
Exemplo 1-B:
// Java Program Illustrating Dividion of Classes into
// Packages where Class StudentDataExtended creates
// Second package- pack2 and uses the first package
// Importing packages
package pack2;
// Importing required classes
// from pre-defined packages
import java.io.*;
import java.lang.*;
import java.util.*;
import pack1.*;
// Main class
class StudentDataExtended extends StudentData {
private String location;
public void addDetails(String id, String name,
String location)
{
addStudentData(id, name);
// This keyword refers to current object itself
this.location = location;
}
// Method 1
public static void
printDetails(TreeMap<String, StudentDataExtended> map)
{
// Iterating via for each loop
for (String a : map.keySet()) {
StudentDataExtended student = map.get(a);
// Print ID and name of student
System.out.println(student.getId() + " "
+ student.getName() + " "
+ student.location);
}
}
// Method 2
// Main driver method
public static void main(String[] args)
{
// Display a message for asking input from the user
System.out.print("Enter the number of students : ");
// Scanner class to read user input
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String buffer = sc.nextLine();
int count = 1;
// Creating a TreeMap
TreeMap<String, StudentDataExtended> map
= new TreeMap<>();
while (n != 0) {
System.out.println(
"Enter the details of Student " + count
+ " (id, name, location):");
count++;
String details = sc.nextLine();
String studentInfo[] = details.split(" ");
StudentDataExtended student
= new StudentDataExtended();
student.addDetails(studentInfo[0],
studentInfo[1],
studentInfo[2]);
map.put(studentInfo[0], student);
n--;
}
// Display message
System.out.println("\nThe Student Details are:");
// Calling above method 1 to
// print details of the students
printDetails(map);
}
}
SAÍDA:
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva