Incluindo: introdução aos dois sistemas de classes, encapsulamento, palavras-chave privadas, esta palavra-chave, métodos de construção, JavaBeans padrão e entrada de teclado
Noções básicas de classes e objetos
tipo
As classes são compostas de duas partes: atributos e comportamentos.
- Atributos: refletidos na classe por meio de variáveis de membro (variáveis fora dos métodos da classe)
- Comportamento: refletido na classe por meio de métodos membros (em comparação com o método anterior, basta remover a palavra-chave estática)
Etapas de definição de classe:
①Definir classe
②Escreva variáveis de membro da classe
③Escreva métodos de membro da classe
public class 类名 {
// 成员变量
变量1的数据类型 变量1;
变量2的数据类型 变量2;
…
// 成员方法
方法1;
方法2;
}
coluna real
/*
手机类:
类名:
手机(Phone)
成员变量:
品牌(brand)
价格(price)
成员方法:
打电话(call)
发短信(sendMessage)
*/
public class Phone {
//成员变量
String brand;
int price;
//成员方法
public void call() {
System.out.println("打电话");
}
public void sendMessage() {
System.out.println("发短信");
}
}
Demo
Crie uma classe de telefone celular
Crie um objeto de telefone celular Xiaomi
encapsulamento
-
A visão geral do encapsulamento
é um dos três principais recursos da orientação a objetos (encapsulamento, herança, polimorfismo)Qualquer que seja o objeto que represente, os dados correspondentes devem ser encapsulados e o comportamento correspondente aos dados deve ser fornecido.
-
A implementação do código de encapsulamento
oculta algumas informações da classe dentro da classe e não permite acesso direto por programas externos. Em vez disso, os métodos fornecidos pela classe são usados para operar as informações ocultas e acessar
variáveis de membros privados e fornecer o getXxx() correspondente. /setXxx()método
palavra-chave privada
Private é um modificador que pode ser usado para modificar membros (variáveis de membro, métodos de membro)
- Membros modificados por private só podem ser acessados nesta classe.Para variáveis de membros modificadas por private,se precisarem ser usadas por outras classes, são fornecidas operações correspondentes.
- Forneça o método "get variable name()" para obter o valor da variável membro. O método é decorado com público
- Fornece o método "definir nome de variável (parâmetro)" para definir o valor das variáveis de membro. O método é modificado com público
Exibição de código
public class GirlFriend {
//属性
private String name;
private int age;
private String gender;
//针对每一个私有化的成员变量,都要提供get和set方法
//使用set方法给成员变量赋值
//使用get方法获取成员变量的值
//给成员变量name进行赋值
//没有返回值,用形参name接受
public void setName(String name){
//局部变量表示测试类中调用方法传递来的数据
//把传递过来的name赋值给等号左边表示成员位置的name
this.name = name;
}
//对外提供name的属性
public String getName(){
return name;
}
//age
//set
public void setAge(int age){
if (age>=18 && age<=50){
this.age = age;
}else {
System.out.println("非法参数");
}
}
//get
public int getAge(){
return age;
}
//gender
//set
public void setGender(String gender){
this.gender = gender;
}
//get
public String getGender(){
return gender;
}
//行为
public void sleep() {
System.out.println("她在休息");
}
public void eat() {
System.out.println("她在吃饭");
}
}
código de teste
public class GirlFriendTest {
public static void main(String[] args) {
//创建GirlFriend的对象
GirlFriend gf1 = new GirlFriend();
//用private、set和get后的赋值不能再用下面操做,需要重新更改
//gf1.name = "小诗是";
//gf1.age = 18;
//gf1.gender = "女";
//System.out.println(gf1.name);
//System.out.println(gf1.age);
//System.out.println(gf1.gender);
//gf1.eat();
//gf1.sleep();
//赋值
gf1.setName("林青霞");
gf1.setAge(18);
gf1.setGender("女");
System.out.println(gf1.getName());
System.out.println(gf1.getAge());
System.out.println(gf1.getGender());
gf1.eat();
gf1.sleep();
}
}
resultado da operação
esta palavra-chave
- Variáveis modificadas por isso são usadas para se referir a variáveis membro e sua principal função é distinguir o problema de nomes duplicados de variáveis locais e variáveis membro.
- Se o parâmetro formal de um método tiver o mesmo nome de uma variável membro, a variável sem esta modificação refere-se ao parâmetro formal, não à variável membro.
- O parâmetro formal do método não possui o mesmo nome da variável membro. A variável sem esta modificação refere-se à variável membro.
O princípio da proximidade
Método de construção
Um construtor é um método especial
- Função: Criar objeto Student stu = new Student();
- Ao criar um objeto, a máquina virtual chama automaticamente o método construtor, que é usado para inicializar variáveis de membro.
O construtor não tem valor de retorno e não pode ser gravado em void.
A criação do objeto é feita por new, que é apenas uma das etapas do construtor.
JavaBeans padrão
Tecla de atalho
Alt+INS
clique em Construtor, depois
clique na parte vermelha, parâmetros vazios aparecerão.
Pressione Shift e clique na última linha para selecionar tudo, e então todas as estruturas com parâmetros aparecerão. Use
o mesmo método para selecionar
e depois clique Ctrl+A para selecionar tudo, e então todos serão selecionados. Todos os parâmetros aparecem get e set.
Finalmente, você pode instalar o plug-in ptg para gerá-lo com um clique.
Após definir as propriedades da classe
, clique com o botão direito em o espaço em branco e selecione a parte vermelha para gerá-lo com um clique.
Dois sistemas para entrada de teclado
- O primeiro sistema:
nextInt(); aceita números inteiros
nextDouble(); aceita decimais
next(); aceita strings.
Este sistema notificará a aceitação quando encontrar espaços, tabulações e retornos de carro. Os dados que seguem estes símbolos não serão aceitos.
- O segundo sistema
nextLine(); aceita string
Geralmente, os dois sistemas não devem ser usados juntos.
PONTAS
Na ideia, ctrl+d pode copiar a linha anterior.
Código de formatação: Ctrl+Alt+L
Car car = arr[i];//先输入右边,再按ctrl + alt + v 可自动生成左边
As operações a seguir podem visualizar duas páginas de código ao mesmo tempo