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)来实现调用

Java——package和import关键字的更多相关文章

  1. JAVA package与import机制

    JAVA package与import机制 http://files.cnblogs.com/files/misybing/JAVA-package-and-import.pdf import org ...

  2. Java中的package和Import关键字的作用

    一.package关键的作用 1.包的概念 package翻译为包,本质上就是一个文件夹,通过包组织项目结构的过程,就是通过包对应的文件夹管理.java和.class文件的过程. 2.包的作用 通过包 ...

  3. 构造器与this、package、import关键字的使用

    构造器一.构造器的作用: 1.创建对象 2.初始化对象的信息 二.说明: 1.如果没有显式的定义类的构造器的话,则系统默认提供一个空参的构造器 2.定义构造器的格式:权限修饰符 类名(形参列表){} ...

  4. JAVA - package与import解析(一)

    一.为什么要引入package和import?这个问题和c++中引入命名空间是一样的,也是为了解决重名问题.java通过包机制来解决重名问题,也就相当于给重名的代码加一系列前缀,从而达到唯一标识的作用 ...

  5. java package and import

    1.Package Package类的主要作用是解决命名冲突.package中所存放的所有文件,一般分一下就分这三种 1,java程序源文件,扩展名为.java. 2,编译好的java类文件,扩展名为 ...

  6. Java package和import语句

    Java中的package和import语句 如果你想让其他人访问你的类,你一定要把你写的类放到正确的子目录下. 在Java里,对于位于包中的类是这样管理的: Java编译器把包对应于文件系统的目录管 ...

  7. Java——package与import

    [package]   <1>为了解决类的命名冲突问题,Java引入包(package)机制,提供类的多重类命名空间. <2>package作为源文件的第一条语句(缺省时指定为 ...

  8. 《Java编程思想》读书笔记-基本规范、注释、static关键字、import关键字

    扫一扫加我的微信公众号,和我一起打好Java的基础 本文作为构建第一个Java程序的番外篇二,主要跟大家伙儿从浅层次的探讨下Java中的关键字import和static,此外为了让我们的代码可读性更强 ...

  9. 如何理解和使用Java package包

    Java中的一个包就是一个类库单元,包内包含有一组类,它们在单一的名称空间之下被组织在了一起.这个名称空间就是包名.可以使用import关键字来导入一个包.例如使用import java.util.* ...

随机推荐

  1. NFS(网络文件系统)

    NFS(网络文件系统) 1.关于NFS介绍 1.1NFS在企业中的应用场景 在企业集群架构的工作场景中,NFS网络文件系统一般被用来存储共享视频,图片,附件等静态资源文件,通常网站用户上传的文件都会放 ...

  2. CSS 是怎样确定图像大小的?

    本文转自奇舞周刊学习使用侵权删 先来看个例子,热热身. 上面这张图像的原始尺寸是:宽 54px 高 49px. 那么,在以下代码中,每张图像显示的最终尺寸是多少? https://p1.ssl.qhi ...

  3. webpack起的项目怎么用手机访问?

    默认情况下 webpack-dev-server只能通过 localhost 访问 如果需要通过 ip 地址访问,修改 npm 配置文件中的 scripts 属性中对应的启动脚本 例如 start 或 ...

  4. Vuex白话教程第六讲:Vuex的管理员Module(实战篇)

    写在前面 这一讲是 Vuex 基础篇的最后一讲,也是最为复杂的一讲.如果按照官方来的话,对于新手可能有点难以接受,所以想了下,决定干脆多花点时间,用一个简单的例子来讲解,顺便也复习一下之前的知识点. ...

  5. 转帖 maven(一) maven到底是个啥玩意~

    转载自:https://www.cnblogs.com/whgk/p/7112560.html 我记得在搞懂maven之前看了几次重复的maven的教学视频.不知道是自己悟性太低还是怎么滴,就是搞不清 ...

  6. PyCharm Change Font Size

    file->settings->colors&fonts-> save as (save the current scheme as your own)-> font- ...

  7. JavaScript实现时间上一天和下一天切换

    JavaScript实现时间上一天和下一天切换 1.先获取时间戳毫秒数 var date = new Date()//实例化时间戳 var time = date.getTime()//获取当前毫秒数 ...

  8. IntelliJ IDEA2016.1 + maven 创建java web 项目[转]

    最近开始使用idea 来写java项目了,这个很流行,相比Eclipse方便了很多.功能多了,相对应的使用的复杂度也较高了,因为网上很多的使用和创建项目的简单教程,都是基于老版本的,每个新版本都有不一 ...

  9. QT之QCustomPlot(一)

    QDetectPlot::QDetectPlot(QWidget *parent) : QCustomPlot(parent) { QVector<), y(); // initialize w ...

  10. 最常用的C++序列化方案:protobuf

    参考链接:最常用的两种C++序列化方案的使用心得(protobuf和boost serialization) [c++] Google Protobuf库1. 什么是序列化?程序员在编写应用程序的时候 ...