Java中工程、包、类介绍
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中工程、包、类介绍相关推荐
- java中equals函数所在的类,重写Java中的equals方法介绍
Java中,只有8种基本类型不是对象,例如:4种整形类型(byte, short, int,long),2种浮点类型(flout, double),boolean, char不是对象,其他的所有类型, ...
- Java中常用的类,包,接口
Java中常用的类,包,接口 包名 说明 java.lang 该包提供了Java编程的基础类,例如 Object.Math.String.StringBuffer.System.Thread等,不使用 ...
- 【JAVA系列】Java中的包、类的继承、多态、抽象类与接口
文章目录 前言 一.包及访问权限 1.什么是包? 2.如何导入包? 3.JDK中常见的包 4.包的访问控制权限 二.继承 1.继承的基本概念 2.继承时方法调用顺序 3.super和this关键字 4 ...
- 四十一、深入Java中的 File类
@Author:Runsen @Date:2020/6/6 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...
- JAVA基础(12.Java中的常用类String)
目录 1.前言 2.日期(时间)相关类 2.1 日期类的应用场景 2.1.1Java中的日期相关的几个类 3. Java中的常用类学习方式 3.1 什么是常用类?为什么要学习? 3.2 怎么使用Jav ...
- java method field_java_解析Java中的Field类和Method类,Field类
Field类中定义了一些方 - phpStudy...
解析Java中的Field类和Method类 Field类Field类中定义了一些方法,可以用来查询字段的类型以及设置或读取字段的值.将这些方法与继承而来的member方法结合在一起.就可以使我们能够 ...
- Java中jar包怎么使用_java中jar包的使用方法
java中jar包的使用方法 发布时间:2020-06-23 11:08:05 来源:亿速云 阅读:162 作者:Leah 这篇文章将为大家详细讲解有关java中jar包的使用方法,小编觉得挺实用的, ...
- Java中的File类和IO流
Java中的File类和IO流 File类 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. File的分隔符 import java.io.Fi ...
- Java中的Unsafe类
1.Unsafe类介绍 Unsafe类是在sun.misc包下,不属于Java标准.但是很多Java的基础类库,包括一些被广泛使用的高性能开发库都是基于Unsafe类开发的,比如Netty.Hadoo ...
- Java中的BigDecimal类你真的了解吗?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:HikariCP www.jianshu.com/p/c81 ...
最新文章
- 难道这是残差结构的本质(addnorm)
- 算法-----三数之和等于0
- 我曾经是怎么做面试官的
- github高级搜索技巧_百度搜索引擎高级使用技巧
- dm数据库 linux版下载,linux环境搭建DM数据库
- C++11新宠-Lambda函数学习
- (转)C++ 库汇总(网址+简介)
- qtcpsocket断开_关于使用QTcpSocket的一些总结
- 成功的运行了DC模拟器+斑鸠!!!
- 在VMWare虚拟机上安装Kali linux系统的完整过程(图文)
- 观察者模式实际应用场景「扩展点实战系列」- 第439篇
- AI 加持实时互动|ZegoAvatar 面部表情随动技术解析
- USACO-Controlling Companies
- 利用matlab做一个不定二重积分的计算
- vue路由传参的三种方式区别(params,query)
- 孩子的一堆毛绒小动物
- 基于stm32单片机单相用电器分析电流电压功率因子监测装置
- java自行车s码适合身高_[单车知识] 身高自行车尺寸对照!
- 游戏检测到计算机性能过低配色,win10系统电脑提示是否要更改配色方案来提高性能窗口的处理教程...
- 我的Unity3D学习日记-06(自己动手制作FlappyBird)
热门文章
- C/C++调试:gdbserver的简单使用
- Sersync实现触发式文件同步
- oracle数据库操作
- TextView SpannableString 使用之实现可点击超链接效果
- 2017广东工业大学程序设计竞赛决赛 题解源码(A,数学解方程,B,贪心博弈,C,递归,D,水,E,贪心,面试题,F,贪心,枚举,LCA,G,dp,记忆化搜索,H,思维题)...
- 为什么linux的TTY登录程序getty/agetty一般都会设置一个-L的option?
- CString GetBuffer() GetString()
- C++ Primer 5th笔记(chap 19 特殊工具与技术)typeid
- 趣链 BitXHub跨链平台 (6)IBC通信协议
- 113. 路径总和 (剑指 Offer 34. 二叉树中和为某一值的路径)(回溯算法)