Paquete y permisos de control de acceso
Definición del paquete
En Java, use la palabra clave package para definir un paquete. Esta declaración debe escribirse en la primera línea del archivo xxx.java.
Ejemplo: paquete de definición
package com.study.Demo; //定义程序所在包,此语句必须放在首行
public class Hello {
public static void main(String args[]){
System.out.println("Hello World");
}
}
Paquete de importación
Ejemplo: definir una clase
package com.study.A;
public class Message {
public void print(){
System.out.println("666");
}
}
Ejemplo: defina otra clase, esta clase debe usar la clase previamente definida
package com.study.test;
import com.study.A.Message; //导入所需要的类
public class TestMessage {
public static void main(String args[]){
Message msg=new Message(); //实例化对象
msg.print(); //调用方法
}
}
//结果
//666
Ejemplo: importar varias clases en un paquete
package com.study.test;
import com.study.A.*; //自动导入指定包中所需的类
public class TestMessage {
public static void main(String args[]){
Message msg=new Message();
msg.print();
}
}
Si hay un conflicto con el mismo nombre en diferentes paquetes, debe agregar el nombre del paquete al usar la clase.
Tales como:
com.study.test.Message msg=new com.study.A.Message();
Paquete común del sistema
Autoridad de control de acceso
Para la tabla anterior, se puede entender simplemente que
solo se puede acceder a lo privado en una clase; a lo
predeterminado solo se puede acceder en un paquete; a lo
protegido se puede acceder en subclases de diferentes paquetes;
público es todo.
Para los principiantes, comprenda los siguientes dos principios básicos de los derechos de acceso: las
declaraciones de atributos usan principalmente declaraciones privadas, las
declaraciones de métodos usan principalmente declaraciones públicas
Ejemplo:
package com.study.A;
public class A {
protected String info="Hello"; //使用protected权限定义
}
package com.study.Demo;
import com.study.A.A;
public class B extends A { //是A不同包的类
public void print(){
System.out.println("A类的info="+super.info); //直接访问父类中的protected属性
}
}
package com.study.Demo;
import com.study.Demo.B;
public class Test {
public static void main(String args[]){
new B().print();
}
}
//结果
//A类的info=Hello
Convención de nomenclatura (aunque no soy muy cuidadoso)
Nombre de clase: mayúsculas de cada palabra al principio, por ejemplo: TestDemo;
nombre de la variable: mayúsculas de la primera letra de la primera palabra, mayúsculas de la primera letra de cada palabra a partir de entonces, por ejemplo: studetName;
nombre del método: la primera letra de la primera palabra Minúscula, escriba en mayúscula la primera letra de cada palabra después de ella, por ejemplo: printInfo ();
nombre constante : escriba en mayúscula cada letra, por ejemplo: BANDERA;
nombre del paquete: minúscula en todas las letras, por ejemplo: com.study