面向对象(五)之包、导入以及访问权限


包(package

什么是包?包是用于将完成不同功能的类分门别类,放在不同的目录(包)下。

包的命名规则:将公司的域名反转作为包名。如www.csdn.com就写成com.csdn,对于包名,我们每个字母都需要小写,也可以大写,但一般不这样做。

如果定义类的时候没有使用package,那么Java就认为我们所定义的类位于默认包里面(default package)。

编译带有package声明的java源文件有两种方式:

1) 直接编译,然后根据类中所定义的报名,逐一手工建立目录结构,最后将生成的class文件放到目录结构中,一般很少使用,比较麻烦。

2) 使用编译参数–d,方式为javac –d.源文件.java,这样在编译后,编译器会自动帮助我们建立好包所对应的目录结构

如果有两个包名,分别是aa.bb.ccaa.bb.cc.dd,那么我们称后者为前者的子包。

 

导入(import

导入的意义是将使用package分离的各个类导入回来,让编译器能够找到所需要的类。

        import的语法:

1)      import com.csdn.PackageTest;

2)      import com.csdn.*,表示导入com.csdn包下面的所有类。

  

注意:import aa.bb.**并不会导入aa.bb.cc包下面的类。这时需要这样写:

                  importaa.bb.*;

       import aa.bb.cc.*;

也就是说,bb下面还有个目录(文件夹)是cc也存放一些类,但bb只能导入bb里类,不能再导入bb里子目录里的类,还得再import aa.bb.cc.*;

 

类,包和导入总结:

关于pcakageimport,class的顺序问题:

a)      首先需要定义包(package),可选

b)      接下来使用import进行导入,可选

c)      然后才是classinterface的定义。

 

还有一点,如果两个类在同一个包下面,那么则不需要导入,直接使用即可。

 

 

访问修饰符(access modifier)。

访问修饰符就是控制类被访问的权限,下面我们具体分析publicprotect,默认以及private

 

1)      public(公共的):被public所修饰的属性和方法可以被所有类访问

2)      protect(受保护的):被protect所修饰的属性和方法可以在类内部,相同包以及该类的子类所访问。

3)      private(私有的):被private所修饰的属性和方法只能在该类内部使用

4)      默认的(不加任何访问修饰符):在类内部以及相同包下面的类所使用。

 

 

instanceof关键字

instanceof关键字是判断某个对象是否是某个类的实例。我们一定要记住这个关键字

语法形式:引用名 instanceof类名(接口名)

instanceof返回的是一个boolean值。下面,我们分析以下代码:

publicclassInstanceOfTest {

publicstaticvoidmain(String[] args) {

  Aa=newA();

  System.out.println(ainstanceof A);//,很显然,打印true

  

  Ab=newB();

  System.out.println(binstanceof A);//打印true,为什么,我们下面讲解总结

}

}

class A{

}

class BextendsA{

}

总结:我们看到System.out.println(binstanceofA);结果也是为true,因为BA的子类,根据继承,子类就是父类,因此B也可以看作是A的实例。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值