封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开的接口和对象进行交互(对类进行包装,将一些细节隐藏起来,提供一些公开访问的东西就可以)。可以类比成一个手机,你只能看到外壳包装,确看不到内部元件的构成。
java中主要通过类和访问权限来实现封装

如果被private修饰了只能在当前的类中使用,在其他类中无法使用,如果我想在其他类中使用怎么办?
代码如下:
class Cat{
private String name;
private int age;
public String getName(){
return this.name;
}
public void setName(String name){
this.name=name;
}
public int getAge(){
return this.age;
}
public void setAge(int age){
this.age=age;
}
public void fun(){
mew();
}
private void mew(){
System.out.println("喵喵叫~");
}
}
public class Test {
public static void main(String[] args) {
Cat cat=new Cat();
cat.setName("小白");
cat.setAge(3);
cat.fun();
}
}既然private只能在被当前类中使用,那么我们可以在当前类中使用成员方法来访问被private的成员变量或成员方法。
为什么被封装了还要在进行访问?

拿上面的图举例,我要实现如果有一个变量a,a等于1的时候,才能打印出喵喵叫这个结果,但我不想要让别人看到他是如何运行才得到的结果,只要别人要到这个结果就好,所以我要把这个具体的时候过程隐藏起来。

理解:
private:私有的,只有自己能知道,其他人不知道;
default:只有自己家里人知道,其他人不知道;
public:公开的,所有人都能看到;
protected:继承中会讲到。
他们范围中的包的是什么?

包:为了更好的管理类,把多个类收集在一起,成为软件包。同一个类也可以根据不同属性再次进行组合。包的本质就是文件夹。
常见的包
public static void main(String[] args) {
int[] array={1,2,3,4};
}java中已经提供了很多现成的类供我们使用,如果我们要打印这个数组,我们可以借助工具类Arrays来,我们可以将Arrays写出来来确定Arrays在哪一个包中。

我们要使用这个类就要将他们的路径写出来。




也可以使用import static导入包中的静态的方法和字段
import static java.lang.Math.*;
public class Test4 {
public static void main(String[] args) {
double x=23;
double y=53;
//double result=Math.sqrt(Math.pow(x,2)+Math.pow(y,2));
double result=sqrt(pow(x,2)+pow(y,2));
}
}
Test2和Test_0716这两个类是在不同包底下的不同类。如果我要在Test_0716中使用Test2.java中的方法,应该怎么做?


步骤:
