不同包下类之间的访问
package com.baidu;
//如果不在类名前面添加public,会报如下错误
//Demo01_Package.java:14: 错误: Person在com.baidu中不是公共的; 无法从外部程序包中对其进行访问
// com.baidu.Person p = new com.baidu.Person();
//Demo01_Package.java:14: 错误: Person在com.baidu中不是公共的; 无法从外部程序包中对其进行访问
// com.baidu.Person p = new com.baidu.Person();
//2 个错误
public class Person {
private String name;
private int age;
//如果不在构造方法前面添加public,会报如下错误
//Demo01_Package.java:14: 错误: Person(String,int)在Person中不是公共的; 无法从外部程序包中对其进行访问
// com.baidu.Person p = new com.baidu.Person("张三", 23);
//1 个错误
public Person(){}
public Person(String name, int age){
this.name = name;
this.age = age;
}
public void setNage(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
}
package com.heima;
class Demo01_Package{
public static void main(String[] args){
//如果不添加全类名com.baidu.Person,会报如下错误
//Demo01_Package.java:4: 错误: 找不到符号
// Person p = new Person();
// 符号: 类 Person
// 位置: 类 Demo01_Package
//Demo01_Package.java:4: 错误: 找不到符号
// Person p = new Person();
// 符号: 类 Person
// 位置: 类 Demo01_Package
//2 个错误
com.baidu.Person p = new com.baidu.Person("张三", 23);
System.out.println(p.getName() + "..." + p.getAge());
}
}
私有只是封装的一种体现形式,不能把私有就叫做封装。
封装是隐藏实现细节,对外提供公共的访问方式,只要你访问不到我就是封装。
Person前面不加修饰符那就是默认修饰符,包与包之间不能访问,不能访问其实就是一种封装,封装是相对而言的。