zoukankan      html  css  js  c++  java
  • Java——package和import关键字

    1.8 package和import关键字

    1.8.1 package

    包其实就是目录,特别是项目比较大,java 文件特别多的情况下,我们应该分目录管理,在java 中称为分包管理,包名称通常采用小写。

    软件包机制:

    ①为了解决类的命名冲突问题,在类名前加命名空间(包机制)。

    ②在java中使用package语句定义包.(单包,复包)。

    ③package语句只能出现在.java源文件的第一行。

    ④package定义的格式,通常采用公司域名倒叙方式。

    例如:com.bjpowernode.oa.system;

      以上包含义:bjpowernode公司开发oa项目,system是oa项目中其中一个模块!

    package定义的全格式:公司域名倒叙.项目名.模块名;

    ⑤完整的类名是带有包名的。

    ⑥带有package语句的java源文件必须这样编译:javac -d 生成路径 java源文件路径。

    ⑦运行: java com.bjpowernode.javase.day05.User

    package com.bjpowernode.javase.day05;

    public class User{

           public static void main(String[] args){

                  System.out.println("User's main method execute!");

           }

    }

    package com.bjpowernode.javase.day05;

    public class Test01{

           public static void main(String[] args){

                  User u = new User();

                 

                  System.out.println(u); //com.bjpowernode.javase.day05.User@c17164

           }

    }

    1.8.2 import

    package com;

    //import语句可以引入其他类.

    //import语句只能出现在package语句之下,class定义的语句之上。

    //import com.bjpowernode.javase.day05.User;

    import com.bjpowernode.javase.day05.*;

    //java.lang;软件包下所有类不需要手动导入。系统自动导入.

    import java.util.Date;

    public class Test02{

           //入口

           public static void main(String[] args){

                 

                  //User.class找不到.

                  //User u = new User();

                 

                  com.bjpowernode.javase.day05.User u = new com.bjpowernode.javase.day05.User();

                  System.out.println(u); //com.bjpowernode.javase.day05.User@c17164

                 

                  User u1 = new User();

                  System.out.println(u1);

                 

                  Object o = new Object();

                  System.out.println(o); //java.lang.Object@61de33

                 

                  //SUN提供的日期

                  Date t = new Date();

                 

                  System.out.println(t); //Fri Jul 27 15:00:37 CST 2012

           }

    }

    JDK中主要的包介绍

    1.java.lang----包含一些Java语言的核心类,如String、Math、Integer、 System和Thread,提供常用功能。

    2. java.net----包含执行与网络相关的操作的类和接口。

    3. java.io   ----包含能提供多种输入/输出功能的类。

    4. java.util----包含一些实用工具类,如定义系统特性、接口的集合框架类、使用与日期日历相关的函数。

    5. java.text----包含了一些java格式化相关的类

    6. java.sql----包含了java进行JDBC数据库编程的相关类/接口

    7. java.awt----包含了构成抽象窗口工具集(abstract window toolkits)的

                                 多个类,这些类被用来构建和管理应用程序的图形用户界 

                                 面(GUI)。

    8. java.applet----包含applet运行所需的一些类。

    总结

    1.面向对象思想的落地法则一

    ①设计类,并设计类的成员(成员变量&成员方法)

    ②通过类,来创建类的对象(也称作类的实例化)

    ③通过“对象.属性” 或“对象.方法”来调用,完成相应的功能

    2.创建的多个对象,彼此各自拥有一套类的属性。

    当对其中一个对象的属性进行修改时,不会影响到其他对象的属性值。

    public class Zoo{

      public static void main(String args[]){

    Animal xb=new Animal();

    Animal xh=new Animal();

    xb.legs=4;

    xh.legs=0;

    System.out.println(xb.legs);   //4

    System.out.println(xh.legs);   //0

    xb.legs=2;

    System.out.println(xb.legs);   //2

    System.out.println(xh.legs);   //0

      }

    }

    3.类的属性(成员变量)

    成员变量vs局部变量

    相同点:

    ①遵循变量声明的格式: 数据类型 变量名 = 初始化值

    ②都有作用域

    不同点:

    ①声明的位置的不同 :

    成员变量:声明在类里,方法外;局部变量:声明在方法内,方法的形参部分,代码块内

    ②关于修饰符:

    成员变量的修饰符有四个:public private protected 缺省;

    局部变量没有修饰符,与所在的方法修饰符相同。

    ③初始化值:一定会有初始化值。

    成员变量:如果在声明的时候,不显式的赋值,那么不同数据类型会有不同的默认初始化值。

    byte short int long ==>0

    float double ==>0.0

    char ==>空格

    boolean ==>false

    引用类型变量==>null

    局部变量:一定要显式的赋值(局部变量没有默认初始化值)。

    ④二者在内存中存放的位置不同:

    成员变量:存在于堆空间中;局部变量:栈空间中  。      

    4.关于变量的分类:

    ①按照数据类型的不同:基本数据类型(8种)& 引用数据类型

    ②按照声明的位置的不同:成员变量 & 局部变量

    5.类的方法:提供某种功能的实现

    ①实例

    public void eat(){//方法体}

    public String getName(){}

    public void setName(String n){}

    格式:权限修饰符 返回值类型(void:无返回值/具体的返回值) 方法名(形参){}     

    ②关于返回值类型

    void表明此方法不需要返回值

    有返回值的方法:在方法的最后一定有return + 返回值类型对应的变量

    记忆:void 与return不可以同时出现一个方法内。像一对“冤家”。

    ③方法内可以调用本类的其他方法或属性,但是不能在方法内再定义方法!

     

     

    6.类的初始化的内存解析

    内存划分的结构:理解的基础上,学会基本的创建的类的对象在内存中的运行。

    ①栈(stack):局部变量 、对象的引用名、数组的引用名

    ②堆(heap):new 出来的“东西”(如:对象的实体,数组的实体),含成员变量

    ③方法区:含字符串常量

    ④静态域:声明为static的变量 

    7.面向对象思想的落地法则二:(封装性的思想)

    ①将类的属性私有化

    ②提供公共的方法(setter & getter)来实现调用

  • 相关阅读:
    有关人工智能的假设
    遥感数据下载
    envi几何校正
    2440裸 Delay(); 和 while(!(rUTRSTAT0 & 0x2)); 问题
    hadoop排序组合键的使用情况
    ASP.NET——RequiredFieldValidator控制和ValidationSummary控制
    TFTP server组态
    Notification(一个)——使用演示样本的基础知识
    学习计划,我希望这不会虎头蛇尾
    只有有lua编译能力不足200K代码吧?NO! Python 有可能。
  • 原文地址:https://www.cnblogs.com/superjishere/p/11803260.html
Copyright © 2011-2022 走看看