`
Luob.
  • 浏览: 1584242 次
  • 来自: 上海
社区版块
存档分类
最新评论

java之10天 包 package

    博客分类:
  • Java
阅读更多
包(package):
import
jar

package pack;
import com.sh.cn.packa.DemoE;  //简化类名的书写. 出现 import


/**
------------------------------------------
 *包(package):
       类是 window系统中的 文件夹

 *优点:
 *  1.对类文件进行分类管理
 *  2.给类提供多层命名空间
 *  3.写在程序的的第一行
 *  4.类名的全称是 包名.类名
 *  5.包也是一种封装形式
 *   
 * 总结:
      包和包之间进行访问,被访问的包中的类以及类中的成员,需要public修饰
      不同包中的子类还可以直接访问父类中被protected权限修饰的成员
    包与包之间可以使用的权限只有两种: public protected

   权限总结:
               public       protected        default    private
   
   同一个类中   Ok            Ok               Ok         Ok 
   同一个包中   Ok            Ok               Ok         
   子类         Ok            Ok               
   不同包中     Ok
 
    javac -d c:\myclass PackageDemo.java
    java  pack.PackageDemo

---------------------------------------------------------
   import的特点

    c:\myclass\packb\DemoA.class
    c:\myclass\packb\haha\DemoZ.class
   
   import packb.*;   //只能导入 packb目录下的所以class,不包含子目录下的 class
   //即这样导入 DemoZ 不能使用 必须写上全路径名packb.haha.DemoZ();
   //如果导入的包中存在重复的class 在使用的时候 必须加上包名 
   
   建议: 不要写通配符 * ,需要用到包中的哪个类,就导入哪个类

   定义包名不要重复,可以使用URL来定义, url是唯一的
   比如: 网站为 www.icbc.com.cn  就可以使用 下面来命名
   package cn.com.icbc.demo;
   package cn.com.icbc.test; 

 --------------------------------------------------------
   jar包:
     java 的压缩包
       方便项目的携带
       方便使用,只要在classpath中设置jar 的路径即可
       数据库驱动,SSH框架都是以jar包体现的.
 
   cd c:\myclss
   jar  -cf  haha.jar packa packb   //将  packa 和 packab  两个文件夹 打包成 haha.jar
   jar  -tf  haha.jar  //查看  haha.jar 中的内容.
   使用的时候 
   set classpath=c:\myclass\haha.jar 

   jar -cfv haha.jar packa packb  显示压缩的详情
   jar -tfv haha.jar  显示 haha.jar中的详情
   jar -tfv haha.jar  > c:\1.txt  将详情信息 转移到1.txt文件中去 一般对于要显示的内容比较多. 
    
  
 */
class PackageDemo 
{
	public static void main(String[] args){
       packa.Demo d=new packa.Demo();
       d.show();

      //编译通过    运行失败  原因:类型转换失败
       packb.DemoB db=new DemoE();   //多态 父类引用指向子类的对象
       packb.DemoF df=(packb.DemoF)db;   //向下转型  
	   df.methods();
     
       packb.DemoB db=new com.sh.cn.packa.DemoE();
       db.methods();

       packb.DemoB df=new packb.DemoF();
       df.methods();
       
       //编译通过 运行失败   原因:类型转换失败
	   packb.DemoB db1=new packb.DemoB();
       com.sh.cn.packa.DemoE de=(com.sh.cn.packa.DemoE)db1;
       de.methods();

       packb.DemoD dd=new packb.DemoD();  //如果 DemoD不是 public 那么编译也会报错
       System.out.println(dd.add(1,2));
    }
}



package packa;

public class Demo extends packb.DemoB
{
	public void show(){
	  methods();
	  System.out.println("Demo Show run");


	}
}



package packb;

public class DemoB 
{
	protected void methods()
	{
		System.out.println("DemoB method run");
	}
}


class DemoC extends DemoB
{
	public void methods(){  //这个修饰必须是 public 或者 protected
		System.out.println("DemoC method run");	
	}
}

//如果要在 PackageDemo中使用这个类  那么这个 DemoD 也要 使用 public  修饰 而且 还是同一个 packb中 这样才行 
//因为一个文件中只能有一个public 的类
/*class DemoD   
{
	public int add(int a,int b){
	   return a+b;
	}
}*/


package packb;
//如果要在 PackageDemo中使用这个类  那么这个 DemoD 也要 使用 public  修饰 而且 还是同一个 packb中 这样才行 
//因为一个文件中只能有一个public 的类
public class DemoD   
{
	public int add(int a,int b){
	   return a+b;
	}
}

package com.sh.cn.packa;

public class DemoE extends packb.DemoB
{
	public void methods(){
	  System.out.println("DemoE methods run");
	}
	
}


package packb;

public class DemoF extends com.sh.cn.packa.DemoE
{
	public void methods(){
		System.out.println("DemoF methods run");
	}
}

1
2
分享到:
评论

相关推荐

    初学者java项目之万年历

    ### 初学者Java项目之万年历 #### 项目概述 该项目是一个简单的Java程序,用于显示指定年份和月份的日历。它可以帮助初学者理解如何处理日期和时间相关的计算,并熟悉Java的基本语法和控制结构。 #### 代码分析 ...

    java作业专业的

    9. **包(Package)**:包是Java中组织类的一种方式,它可以避免命名冲突,提供更好的代码管理。例如,`java.util` 包包含了各种实用工具类。 10. **异常处理(Exception Handling)**:Java提供了一种结构化的错误...

    【IT十八掌徐培成】Java基础第02天-01.java关键字.zip

    7. 接口与访问修饰符关键字:`implements`用于实现接口,`extends`用于继承类,`default`用于接口的默认方法,`package`定义包,`import`导入包中的类或接口。 8. 泛型关键字:`<T>`, `List<T>`, `Map, Integer>`等...

    java基础的源代码

    13. **包(Package)**:Java通过包来组织类,方便管理和导入。 这些基本概念构成了Java编程的基础,通过"basic.day01"的源代码学习,初学者可以逐步建立起对Java语言的理解,并为更高级的主题打下坚实的基础。在...

    赛尔凯达Java软件工程师培训笔记(全)

    - `-10`:查找10天之内被修改过的文件。 - `+10`:查找10天之前被修改过的文件。 - `. -mtime -10 -print`:查找当前目录及其子目录中最近10天内被修改过的文件,并打印结果。 - `-user 0`:查找属于用户ID为0的...

    日历的java源代码

    - 在Java程序中,`package`关键字用于声明一个包名,它位于源文件的第一行(除了注释外)。在本例中,程序使用了非标准的包名`packagetest;`。实际上,包名通常采用全小写的形式,并且最好能够反映程序的功能或组织...

    【Java实战教程】10. 使用Maven引入相关jar包.zip

    本教程聚焦于“使用Maven引入相关jar包”,这是一个关键的Java开发技能,特别是对于大型项目而言,因为它们通常依赖于众多第三方库。Maven是Apache软件基金会开发的一个项目管理和综合工具,它简化了构建过程,包括...

    21天学通Java-由浅入深

    117 6.10 小结 118 6.11 习题 118 第7章 控制逻辑(精彩视频:50分钟) 120 7.1 包(package) 120 7.1.1 创建一个包 120 7.1.2 如何使用包 121 7.1.3 什么是静态引入 122 7.2 类的访问级别 123 7.2.1 公开的访问...

    30天学通java 项目开发案例

    在Java编程中,"src"目录是存放源代码的标准位置,通常按照包(package)结构来组织。在本案例中,"src"目录下的文件可能是各个类(class)的Java源文件,包含了课程中的核心算法、业务逻辑和数据结构等。开发者可以...

    java基础知识

    7. **包(Package)**:包是Java中的命名空间,用于组织和管理类。它能避免类名冲突,方便代码的查找和使用。 8. **输入/输出流(I/O Stream)**:Java的I/O库提供了一系列类和接口,用于读取和写入数据,包括文件...

    C#和Java的区别.pdf

    Java则使用包(Package),如`import java.util.Scanner;`。 5. 文件后缀名: C#的源代码文件后缀为`.cs`,Java为`.java`。 6. 注释风格: C#的单行注释以`//`开始,多行注释使用`/*...*/`。Java的注释与此相同...

    java语言经典试题100

    根据给定文件的信息,我们可以从中提炼出四个不同的Java编程题目,并对每个题目进行详细解析。 ### 题目一:三位数字的排列组合 #### 题目描述: 编写一个程序,找出所有由1到4这四个数字组成的不重复的三位数。 ...

    java基础第一看

    10. **集合框架**:ArrayList、LinkedList、HashSet、HashMap等都是Java集合框架的一部分,用于存储和操作数据。 11. **泛型**:泛型提高了代码的类型安全性和可读性,限制了可以添加到集合中的对象类型。 12. **...

    用java编写的万年历程序

    package Day; import java.util.Scanner; public class Day { static int B1=0; //判断是否为闰年,1代表闰年,0代表平年 static int B2; //判断月份的天数,0代表31天,1代表29天,2代表28天,3代表30天 static ...

    Java 2实用教程(第三版)实验指导与习题解答

    上机实践10 Java 中的网络编程 57 实验1 读取服务器端文件 57 实验2 使用套接字读取服务器端对象 59 实验3 基于UDP的图像传输 62 上机实践11 数据结构 66 实验1 扫雷小游戏 66 实验2 排序与查找 70 实验3 使用...

    java语法总结

    Java 语法是编程的基础,学习Java的初学者通常在10天内就能掌握基础语法。在Java中,标识符是一个重要的概念,它用于为变量、方法和类等编程元素命名。标识符的定义是一个由字母、下划线_、美元符$或数字组成的字符...

    整合了所有java经典面试题

    - 不写修饰符(即默认,也称作package-private): 成员只能在同一包内的类访问。 3. **编程输出如下图形**(此处未提供具体图形,但通常是要求使用循环打印特定形状) 4. **JAVA的事件委托机制和垃圾回收机制** ...

    java上机报告1——日历1

    源码被组织在不同的包(package)中,这有助于代码的模块化和管理。例如,`service`包可能包含了所有与服务相关的类。 以上是关于"java上机报告1——日历1"的详细知识点解析,涵盖了Java编程的基础、日期处理、人...

Global site tag (gtag.js) - Google Analytics