Java - package and import keywords

1.8 package and import keywords

1.8.1 package

Under the package is actually a directory, especially large projects, especially java file more cases, we should be sub-directory management, subcontract management called in java package name usually lowercase.

Packages mechanisms:

① To resolve naming conflicts and the like, plus the namespace (package mechanism) in front of the class name.

② use in java package statement defines the packets. (Single packet, the packet multiplexing).

③package statement can only appear on the first line .java source file.

④package definition format, usually company domain flashback mode.

For example: com.bjpowernode.oa.system;

  Contains more than justice: bjpowernode developed oa project, system oa project is one of the modules!

Full package definition format: domain name companies flashback . project name . module name;

⑤ full class name with the package name.

⑥ java source files with the package statement must be able to compile: javac -d path generated java source file path.

⑦ run: 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 statements can be introduced into other classes .

// import statement can only appear in the package under the statement, class above definition statement.

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

import com.bjpowernode.javase.day05.*;

//java.lang; all classes need to manually import the package. The system automatically imported.

import java.util.Date;

 

public class Test02{

       //Entrance

       public static void main(String[] args){

             

              //User.class found.

              //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

             

              Date // SUN provided

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

Guess you like

Origin www.cnblogs.com/superjishere/p/11803260.html