Prefácio
Este artigo apresenta os conceitos básicos de definição de classe e criação de objetos em Java. Demonstramos através de código de exemplo como definir diferentes tipos de classes, incluindo informações do administrador, informações do cliente, informações da escola e informações do visitante, e mostramos como criar objetos dessas classes e como acessar suas propriedades e métodos. Esses exemplos ajudam a compreender os princípios básicos da programação orientada a objetos e como aplicar esses conceitos em Java.
Notas de estudo orientadas a objetos Java-1
Definição de classe e criação de objeto
Classe Admin - informações do administrador
A classe Admin é usada para representar o administrador, incluindo o nome e a senha do administrador. A seguir está um exemplo de código para a classe Admin:
public class Admin {
String name;
String password;
public void show() {
System.out.println("用户名:" + name + ",密码:" + password);
}
}
Um caso de uso típico da classe Admin é gerenciar contas de administrador no sistema. Os administradores podem fazer login no sistema usando nome de usuário e senha e ter permissões para executar tarefas específicas.
Classe de cliente - informações e pontos do cliente
A classe Cliente é usada para representar informações do cliente, incluindo pontos e tipo de cartão. A seguir está um exemplo de código para a classe Cliente:
public class Customer {
int jifeng; // 积分
String type; // 卡类型
public void show() {
System.out.println("积分:" + jifeng + ",卡类型:" + type);
}
public void huikui() {
// 金卡客户积分大于1000分或普卡客户积分大于5000,获得回馈积分500分
if (("金卡".equals(type) && jifeng > 1000) || ("普卡".equals(type) && jifeng > 5000)) {
System.out.println("回馈积分500分!");
} else {
System.out.println("谢谢惠顾!");
}
}
}
A classe Cliente é adequada para gerenciar pontos de clientes e tipos de cartões. Com base em diferentes condições, o sistema pode calcular e recompensar pontos aos clientes.
Turma escolar - informações sobre a escola
A classe Escola é usada para representar informações da escola, incluindo nome, número de salas de aula e número de salas de informática. A seguir está um exemplo de código para a classe Escola:
// 类名
public class School {
// 属性
String name; // 名称
int jsNumber; // 教室数目
int jfNumber; // 机房数目
// 方法
public void show() {
System.out.printf("%x\n", this.hashCode()); // 内存地址
System.out.println("名称:" + name + ",教室数目:" + jsNumber
+ ",机房数目:" + jfNumber);
}
}
A classe Escola pode ser utilizada para gerenciar as informações básicas da escola, como nome, número de salas de aula e número de salas de informática. Esta classe também contém um método para exibir informações da escola.
Classe de visitantes - informações do visitante
A classe Visitor é usada para representar informações do visitante, incluindo nome e idade. A seguir está um exemplo de código para a classe Visitante:
public class Visitor {
String name;
int age;
public void show() {
if (age <= 10) System.out.println(name + "的年龄为:" + age + ",门票免费");
else System.out.println(name + "的年龄为:" + age + ",门票价格为:20元");
}
}
A classe Visitante pode ser usada para rastrear informações de visitantes, determinar preços de ingressos com base na idade ou outras informações relacionadas.
Exemplos e conceitos
Exemplo 1: Crie um objeto da classe Escola
public class Demo01 {
public static void main(String[] args) {
// 将School类,理解成一种引用数据类型,只不过是自定义的引用数据类型
// 1. 声明
School school;
// 2. 分配空间
school = new School();
// 3. 点访问属性
school.name = "万科城小学";
school.jsNumber = 36;
school.jfNumber = 8;
// 4. 点访问方法
school.show();
}
}
No exemplo demonstramos como criar um objeto da classe Escola e acessar suas propriedades e métodos.
Exemplo 2: Simplifique a criação de objetos
public class Demo02 {
public static void main(String[] args) {
// 将School类,理解成一种引用数据类型,只不过是自定义的引用数据类型
// 声明分配空间
School school = new School();
// 点访问方法
school.show();
// 点访问属性
school.name = "万科城小学";
school.jsNumber = 36;
school.jfNumber = 8;
// 点访问方法
school.show();
}
}
Este exemplo simplifica o processo de criação de objetos e acesso a propriedades/métodos.
Exemplo 3: Insira informações do visitante
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("请输入姓名:");
String name = scanner.next();
if (name.equals("n")) break; // 提供了一个退出通道
System.out.print("请输入年龄:");
int age = scanner.nextInt();
Visitor visitor = new Visitor(); // 创建对象
// 自动提示功能
visitor.name = name;
visitor.age = age;
visitor.show();
}
System.out.println("退出程序");
}
}
Este exemplo demonstra como usar um Scanner para receber entradas do usuário e criar um objeto Visitor para exibir informações do visitante.
Exemplo 4: Modificar senha de administrador
import java.util.Scanner;
public class Demo04 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Admin admin = new Admin(); // 准备一张卡
admin.name = "admin1";
admin.password = "111111";
// 试图修改该卡的密码
System.out.print("请输入用户名:");
String name = scanner.next();
System.out.print("请输入密码:");
String password = scanner.next();
// 核对
if (name.equals(admin.name) && password.equals(admin.password)) {
System.out.print("请输入新密码:");
admin.password = scanner.next(); // 一定要更新到对象的属性上,才叫修改
System.out.println("密码修改成功,你的新密码是:" + admin.password);
} else {
System.out.println("用户名或密码不正确!你没有修改权限。");
}
}
}
Este exemplo demonstra a autenticação do usuário e como alterar a senha do administrador.
Exemplo 5: Informações do cliente e pontos de recompensa
public class Demo05 {
public static void main(String[] args) {
Customer customer = new Customer();
customer.jifeng = 3050;
customer.type = "普卡";
customer.show();
customer.huikui();
}
}
Neste exemplo, criamos um objeto Cliente, exibimos informações do cliente e calculamos pontos de recompensa.
Exemplo 6: Vários objetos escolares
public class Demo06 {
public static void main(String[] args) {
// 将School类,理解成一种引用数据类型,只不过是自定义的引用数据类型
// 声明分配空间
School school1 = new School();
School school2 = new School();
System.out.printf("%x\n", school1.hashCode()); // 内存地址
System.out.printf("%x\n", school2.hashCode()); // 内存地址
// 点访问属性
school1.name = "万科城小学";
school1.jsNumber = 36;
school1.jfNumber = 8;
school2.name = "艾溪湖小学";
school2.jsNumber = 24;
school2.jfNumber = 6;
// 点访问方法
school1.show();
school2.show();
}
}
Este exemplo demonstra como criar vários objetos School e exibir suas propriedades.
Exemplo 7: escopo de variável local
public class Demo07 {
public static void main(String[] args) {
{
int age = 18;
System.out.println(age);
}
{
int age = 20;
System.out.println(age);
}
}
}
No Exemplo 7, demonstramos o escopo da variável local. Você pode usar variáveis locais com o mesmo nome em diferentes blocos de código sem afetar umas às outras.
Exemplo 8: Referências de objetos e coleta de lixo
public class Demo08 {
public static void main(String[] args) {
{
School school1 = new School(); // new一律分配在堆
School school2 = school1;
School school3 = school1;
// GC的垃圾回收机制,记录这块堆空间,引用数1+1+1
school1.name = "艾溪湖小学";
school1.show();
}
// school1被回收了,GC的垃圾回收机制感应到栈变量school1回收了,引用数0
// GC的垃圾回收机制,就会考虑回收
System.gc();
}
}
No Exemplo 8, demonstramos os conceitos de referências de objetos e coleta de lixo. Quando um objeto não é mais referenciado, ele pode ser recuperado pelo mecanismo de coleta de lixo.
Exemplo 9: Formatação de números
public class Demo09 {
public static void main(String[] args) {
// Object 生命类型
System.out.printf("八进制:%o,十进制:%d,十六进制:%x", 20, 20, 20); // ctrl+p (parameter)
}
}
Por fim, no Exemplo 9, mostramos como utilizar printf
o método para formatar e exibir números em diferentes bases.
Resumir
Este artigo apresenta os conceitos básicos de definição de classe e criação de objetos em Java e como aplicar esses conceitos na programação prática. Através de exemplos, mostramos como criar diferentes tipos de classes, como acessar as propriedades e métodos dos objetos e como utilizar esses objetos em um programa para implementar diversas funções. Esses conceitos básicos são os pilares da programação orientada a objetos e são muito importantes na programação Java. Os leitores podem usar os exemplos e conceitos deste artigo para entender melhor como projetar e usar classes e objetos para desenvolver aplicativos Java de maneira mais eficaz.