版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/FX677588/article/details/52689565

1. 说明

①. 工程相当于一个软件,包相当于模块,类相当于模块下各个功能的实现。(学过python的同学更好理解,类似python下模块和方法)
②. 类下再有各种自己具体完成任务需要的成员变量和实现方法。主方法也在某一个public类中。
③. 包(package)相当于姓名中的“姓”,类(class)相当于“名”。所以在调用某类方法的时候,不仅需要指明方法所在的“名”,即类,还要指明方法类所在的“姓”,即包。这样编译器才知道你调用的方法是哪一个。

2. 总结

2.1 实例

先看一个工程实例:

package helloWorld          //定义包,关键字为package
public class Example{       //定义类,只有公开类才能定义main方法static int one =1;      //定义一个静态成员方法public static void main(String[] args){  //定义主方法String var = "Hello"    ;System.out.println(one+"is"+var);}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

[注]:
  Ⅰ. 类名和文件名相同,一个Java文件中最好仅定义一个类,多类不方便管理。如果多类定义,则仅有一个类可以被public修饰,这个类且必须和文件同名,其他类则不能被其他包里类所引用。此外,若存在主方法main函数,public的main方法只能存放在这个public类当中。
  Ⅱ. 上面定义的主方法是程序入口的固定写法,除调换public、static的位置(规范写法最好是将public放前面),和String[] args改为String args[], 不可做任何修改。
  Ⅲ. System.out.println(…)中System是系统类,out是其提供的一个标准输出流,println()是out的实现方法。
  Ⅳ. 包建议小写字母开头,而类以大写字母开头。
  Ⅴ. 由于main方法是静态的,所以不可以直接调用类中非静态成员变量或方法。但是可以在main函数中创建实体(对象)再调用方法和变量。
  Ⅵ. 类内给定义的成员变量直接可以赋初值,而C++中只可以在类声明中定义类成员变量,而赋初值需要在构造函数中。而Java成员变量定义和赋值可以在类中同时完成。当实例化对象,进入类构造函数前,限制性这些变量赋初值。

2.2 包类具体使用

  • 对类文件进行分类管理;
  • 给类提供命名空间,相当于一张封装形式(类似C++中namespace);
  • 类名的全称是:包名.类名,即“姓”+“名”;
  • 包定义放在文件开头,导入包和类也是一样;
  • 导入包和类import关键字:
 import pack.ClassA; //导入包pack的classA类import pack.*;      //导入包pack下的所有类,这个方便调用导入一个包下多个类的写法
  • 1
  • 2

当导入包类以后,可以通过类实例化对象,再通过对象调用类中具体实现方法了。
例如:

import java.util.Scanner;Scanner scan = new Scanner(System.in); //实例化类Scanner
String str   = scan.nextline();        //调用Scanner中方法nexline(),从输入流中获取一行字符串
  • 1
  • 2
  • 3
  • 4

如果导入两个包后,都存在相同的类,则在使用类的时候指明哪个包。

import pack1.ClassA;
import pack2.ClassA;pack2.ClassA cla = new pack2.ClassA(); //指明调用的是哪个包的方法
  • 1
  • 2
  • 3
  • 4
  • 5

Java中工程、包、类介绍相关推荐

  1. java中equals函数所在的类,重写Java中的equals方法介绍

    Java中,只有8种基本类型不是对象,例如:4种整形类型(byte, short, int,long),2种浮点类型(flout, double),boolean, char不是对象,其他的所有类型, ...

  2. Java中常用的类,包,接口

    Java中常用的类,包,接口 包名 说明 java.lang 该包提供了Java编程的基础类,例如 Object.Math.String.StringBuffer.System.Thread等,不使用 ...

  3. 【JAVA系列】Java中的包、类的继承、多态、抽象类与接口

    文章目录 前言 一.包及访问权限 1.什么是包? 2.如何导入包? 3.JDK中常见的包 4.包的访问控制权限 二.继承 1.继承的基本概念 2.继承时方法调用顺序 3.super和this关键字 4 ...

  4. 四十一、深入Java中的 File类

    @Author:Runsen @Date:2020/6/6 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...

  5. JAVA基础(12.Java中的常用类String)

    目录 1.前言 2.日期(时间)相关类 2.1 日期类的应用场景 2.1.1Java中的日期相关的几个类 3. Java中的常用类学习方式 3.1 什么是常用类?为什么要学习? 3.2 怎么使用Jav ...

  6. java method field_java_解析Java中的Field类和Method类,Field类 Field类中定义了一些方 - phpStudy...

    解析Java中的Field类和Method类 Field类Field类中定义了一些方法,可以用来查询字段的类型以及设置或读取字段的值.将这些方法与继承而来的member方法结合在一起.就可以使我们能够 ...

  7. Java中jar包怎么使用_java中jar包的使用方法

    java中jar包的使用方法 发布时间:2020-06-23 11:08:05 来源:亿速云 阅读:162 作者:Leah 这篇文章将为大家详细讲解有关java中jar包的使用方法,小编觉得挺实用的, ...

  8. Java中的File类和IO流

    Java中的File类和IO流 File类 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. File的分隔符 import java.io.Fi ...

  9. Java中的Unsafe类

    1.Unsafe类介绍 Unsafe类是在sun.misc包下,不属于Java标准.但是很多Java的基础类库,包括一些被广泛使用的高性能开发库都是基于Unsafe类开发的,比如Netty.Hadoo ...

  10. Java中的BigDecimal类你真的了解吗?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:HikariCP www.jianshu.com/p/c81 ...

最新文章

  1. 难道这是残差结构的本质(addnorm)
  2. 算法-----三数之和等于0
  3. 我曾经是怎么做面试官的
  4. github高级搜索技巧_百度搜索引擎高级使用技巧
  5. dm数据库 linux版下载,linux环境搭建DM数据库
  6. C++11新宠-Lambda函数学习
  7. (转)C++ 库汇总(网址+简介)
  8. qtcpsocket断开_关于使用QTcpSocket的一些总结
  9. 成功的运行了DC模拟器+斑鸠!!!
  10. 在VMWare虚拟机上安装Kali linux系统的完整过程(图文)
  11. 观察者模式实际应用场景「扩展点实战系列」- 第439篇
  12. AI 加持实时互动|ZegoAvatar 面部表情随动技术解析
  13. USACO-Controlling Companies
  14. 利用matlab做一个不定二重积分的计算
  15. vue路由传参的三种方式区别(params,query)
  16. 孩子的一堆毛绒小动物
  17. 基于stm32单片机单相用电器分析电流电压功率因子监测装置
  18. java自行车s码适合身高_[单车知识] 身高自行车尺寸对照!
  19. 游戏检测到计算机性能过低配色,win10系统电脑提示是否要更改配色方案来提高性能窗口的处理教程...
  20. 我的Unity3D学习日记-06(自己动手制作FlappyBird)

热门文章

  1. C/C++调试:gdbserver的简单使用
  2. Sersync实现触发式文件同步
  3. oracle数据库操作
  4. TextView SpannableString 使用之实现可点击超链接效果
  5. 2017广东工业大学程序设计竞赛决赛 题解源码(A,数学解方程,B,贪心博弈,C,递归,D,水,E,贪心,面试题,F,贪心,枚举,LCA,G,dp,记忆化搜索,H,思维题)...
  6. 为什么linux的TTY登录程序getty/agetty一般都会设置一个-L的option?
  7. CString GetBuffer() GetString()
  8. C++ Primer 5th笔记(chap 19 特殊工具与技术)typeid
  9. 趣链 BitXHub跨链平台 (6)IBC通信协议
  10. 113. 路径总和 (剑指 Offer 34. 二叉树中和为某一值的路径)(回溯算法)