兴唐Java技术公开课(包和访问权限)

包是管理不计其数的java源文件的一种工具,它可以使众多源文件按照某种分类规则放入不同的区域中,使查找文件并维护的必要工作极大地简化,同时,它解决了相同类名冲突的问题,也通过访问控制符保护了类的成员变量和方法。

包名均为小写,各层次使用“.”隔开,一般由域名的倒置开头,且不能以java开头

//com.baidu.tool

若是打开工程文件查看,可发现各层次其实是文件夹。例如com.baidu.tool。baidu文件夹在com文件夹中,tool文件夹在baidu文件夹中,而源文件储存则在tool文件夹下。

JDK中的包


若是在当前类中想要使用其他包中的类、java.lang以外JDK中的类、第三方jar包中的类,就需要引包。

如果不用import关键字进行引包,则需要完整写出该类的位置:

java.util.Scanner scan = new java.util.Scanner(System.in);

为了简化代码,使用import关键字进行引包:

//1:明确指定需要引用的类
import java.util.Scanner;
//2:*通配符引用该包下的所有类
import java.util.*;
//3:使用
Scanner scan = new Scanner(System.in);

此外不能引用在默认包中的类。


访问控制符



共有四种访问控制符:public、protected、友好的、private。

被修饰的成员变量,成员函数,类根据以下表格决定是否能在其他类中访问。



封装


封装是Java的三大特征之一。用于保护变量中的数据。

在一个类中,可能他的某一个成员变量有一个范围区间,超出这个范围会导致不可控的后果。

Student stu = new Student();
stu.age = 10000;

此例中学生的年龄显然不可能为10000,那么应该如何处理?

private int age;
public void setAge(int age){
    if(age>0&&age<30){
        this.age = age;
    }
}

在Student类中如此定义,即可有效处理此类问题,当需要赋值时调用类中的公共方法setAge()即可,保证了数据的安全。

猜你喜欢

转载自blog.csdn.net/t61789/article/details/80384409