paquete
¿Por qué paquete
- En esta etapa se definen las propiedades de los objetos pueden acceder fácilmente, cambios arbitrarios de control, la idea es empaquetarlo variables miembro ocultos.
¿Cuál es el paquete - La encapsulación es "razonable oculta, la exposición razonable."
- Implementación básica Especificación: paquete es generalmente las variables miembro (atributos) que ocultar, para proporcionar método de exposición razonable accede.
paso paquete
- Es necesario utilizar la modificación de atributos clave privada.
- privada:, significado oculto privada. miembros modificados sólo se puede acceder directamente en la clase actual. De lo contrario ¡Error!
- Necesidad de proporcionar un conjunto de captador público y setter métodos exponer los valores de las variables miembro y asignación.
- métodos getter: obtener las variables + miembros capitalizan devuelve el valor de la variable miembro.
- método setter: variables miembro + asignación fija de capitalizado variable miembro método.
El papel del paquete
puede mejorar la seguridad, y la reutilización de componentes de código.
La encapsulación es una características y especificaciones orientadas a objetos
a pesar de que el sentido código después de que aún tenemos que escribir el código de estilo (variables miembro privadas, los métodos expuestos!)
public class PackageDemo {
public static void main(String[] args) {
Student boNiu = new Student();
boNiu.setAge(21); // 赋值,这里的数据必须满足0 - 200之间,否则赋值会失败!
boNiu.setName("赵丽颖");
System.out.println(boNiu.getAge()); // 取值
System.out.println(boNiu.getName()); // 取值
boNiu.study();
}
}
class Student{
private String name ; // 只能在本类中访问
private int age ; // 只能在本类中访问
public void setAge(int a){
if(a > 0 && a < 200){
age = a;
}else{
System.out.println("您的年龄输入有误,请确认!");
}
}
public int getAge(){
return age;
}
public void setName(String n){
name = n ;
}
public String getName(){
return name;
}
public void study(){
System.out.println("好好学习,认真听课~~~~");
}
}
esta palabra clave
El nombre del método conjunto de parámetros no definidos "ven a conocer el nombre significa" nombre de parámetro sin significado real. Sin embargo, los nombres de los parámetros cuando se escriben conflicto nombre significativo y variable miembro, lo que resulta en la asignación de la insuficiencia de datos.
Por ejemplo: n esta definición no tiene la intención de ver el nombre conocido, pero si el nombre cambiado luego repitió n
public void del setName (String n) {
name = n;
}
método para resolver esta palabra clave
- esto representa la dirección del objeto actual.
- En este método, que llama a este método, esto representa quién.
- utilizados en este método puede distinguir variables son variables locales o variables miembro de acceso: ver el nombre con el fin de lograr las variables locales significado conocido, que no entren en conflicto!
public class PackageDemo {
public static void main(String[] args) {
// 1.创建对象
Student wangLe = new Student();
wangLe.setName("王乐"); // 赋值
wangLe.setAge(19); // 赋值
System.out.println(wangLe.getName()); // 取值
System.out.println(wangLe.getAge()); // 取值
wangLe.study();
}
}
class Student{
private String name ; // 只能在本类中访问
private int age ; // 只能在本类中访问
// public 是公开的含义,可以直接暴露出去被访问的。
// this在Java中代表了当前对象的地址引用。
// this在方法中,谁调用这个方法,this就代表了谁。
// this用在方法中可以区分变量是访问局部变量还是访问成员变量。
public void setAge(int age){
this.age = age; // this.age = 19 wangLe.age = 19
}
public int getAge(){
return age;
}
public void setName(String name){
this.name = name ; // this.name = 王乐 wangLe.name = 王乐
}
public String getName(){
return name;
}
public void study(){
System.out.println("好好学习,认真听课~~~~");
}
}
Nota:
colocador y métodos captadores se pueden generar directamente compilador
click derecho -> seleccionar Generate-> seleccione Setter y Gertter-> Mantenga pulsada la tecla Mayús y haga clic en el último seleccionar directamente a todos ellos.