包与访问权限修饰符

一个简单的java程序:

class Test1{
   public static void main(String[] args){
     System.out.println("helloWorld");
   }
}

可以直接执行。这是否用到了其他对象呢?暂时不考虑它

如果需要与其他类型对象进行通信呢,如:

class Dog {
  String name;
  int age;

  public void bark(){
     System.out.println("汪汪");
  }
}

class Test2{
   public static void main(String[] args){
     Dog d = new Dog();
     d.bark();
   }
}    

  这里就要求Dog类和Test2类在同一个文件中,或者在同一个文件夹中的不同文件下,否则程序会报找不到类的错误。

 

好了,这里给出的概念就是类的位置的概念。一个类的坐标,应该由其包名+类名共同组成,相当于我们的文件系统中的文件夹路径+文件名.

 

那么java虚拟机如何知道你的类的具体坐标呢?

我们需要在类文件中加入所在包的声明

  格式为:package 包路径名;且必须放在程序的第一行

package com.zhen;
class Dog {
  String name;
  int age;

  public void bark(){
     System.out.println("汪汪");
  }
}

  

 

 

使用其他类对象,当然首先要找到其他类的对象。因此我们介绍两种方式使用其他类的对象。

1、import语句引入

  import com.zhen.Dog;

  格式为:import 类全路径

      import 包路径.*   //引入该包下的所有类

2、全路径使用其他类

  com.zhen.Dog d = new com.zhen.Dog();

 

前面介绍了包的概念,那么访问权限修饰符有什么用呢?

包告诉了我们类在哪里,但是类对象的那些组件能用,在什么情况下使用就得看访问各个组件的访问权限修饰符了。

访问权限修饰符有以下几种:

 

posted @ 2020-02-02 09:55  guodaxia  阅读(307)  评论(0编辑  收藏  举报