day_13

--暑假学习第十三天--

一.包

java中的包就相当于windows文件夹。
 
包的作用:
 1. 解决类名重复产生冲突的问题。
 2. 便于软件版本的发布。

定义包的格式:
 package 包名;
包名命名规范:包名全部小写。
 
包语句要注意的事项:
 1. package语句必须位于java文件中中第一个语句。
 2. 如果一个类加上了包语句,那么该类的完整类名就是: 包名.类名
 3. 一个java文件只能有一个包语句。

问题:  每次编译的时候都需要自己创建一个文件夹,把对应的class文件存储到文件夹中。
 
  javac -d 指定类文件的存放路径   java源文件
 
eg:
package aa;

class Demo
{
    
    public static void main(String[] args) 
    {
        System.out.println("这个是Demo1的main方法...");
    }
}
 
有了包之后类与类之间的访问:
 
问题: 有了包之后类与类之间的访问每次都必须 要写上包名!
 
解决方案: sun提供导包语句让我们解决该问题。
 
导包语句作用:简化书写。 (误区: 把一个类导入到内存中)
 
导包语句的格式:
    import 包名.类名;   (导入xxx包中某个类)
 
导包语句要注意的细节:
  1. 一个java文件中可以出现多句导包语句。
  2. "*"是 导包语句的通配符。可以匹配任何 的类名。
  3. import aa.*; 是不会作用于aa包下面的子包的。
 
推荐使用:import 包名.类名;   因为使用*通配符会导致结构不清晰。
 
什么时候使用import语句:
 1. 相互访问的两个类不是在同一个包下面,这时候就需要使用到导包语句。
 2. java.lang 是默认导入的,不需要我们自己导入。
 
二.权限修饰符
   public(公共)          protected(受保护)           default(缺省)       private (大到小)
同一个类      true                 true                        true                 true

同一个包      true                 true                        true                  false
 
子父类        true                  true                       false                   false

不同包        true                 false                      false                   false

注意: 在不同包下面只有public 与 protected 可以访问,而且protected必须是在继承关系下才能够访问。
 
eg:
package aa;
public class Demo1
{
    protected   int i =10;

}
package bb;
import aa.Demo1;

class Demo2
{
    public static void main(String[] args) 
    {
        Demo1 d = new Demo1();
        System.out.println("i="+d.i);
    }
}
打jar包: 需要使用到jdk的开发工具(jar.exe).
 
jar的用法:
 
使用格式:
 
 jar cvf jar文件的名字  class文件或者是文件夹
 
打jar包要注意的事项:
 1. 一个程序打完了jar之后 必须要在清单文件上指定入口类: 格式 Main-Class: 包名.类名
 2. jar包双击运行仅对于图形化界面的程序起作用,对控制台的程序不起作用。

jar文件的作用:
 1. 方便用户快速运行一个项目。
 2. 提供工具类以jar包的形式给别人使用。

如果使用jar包里面的类必须要先设置classpath路径。
 
jre = jvm+ 核心类库
 

猜你喜欢

转载自www.cnblogs.com/seduce-bug/p/9387689.html