版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java类和对象的概念,基本概念,Java是一门面向对象的编程语言,理解Java,首先要理解类与对象这两个概念。封装继承多态,Java中的类也是一种构造数据类型,但是进行了一些扩展,类的成员不但可以是变量,还可以是函数;通过类定义出来的变量也有特定的称呼,叫做“对象”。,publicclassDemopublicstaticvoidmain(Stringargs)/定义类StudentclassStudent/通过class关键字类定义类/类包含的变量Stringname;intage;floatscore;/类包含的函数voidsay()System.out.println(name+的年龄
2、是+age+,成绩是+score);,/通过类来定义变量,即创建对象Studentstu1=newStudent();/必须使用new关键字/操作类的成员=小明;stu1.age=15;stu1.score=92.5f;stu1.say();,在C语言中,通过结构体名称就可以完成结构体变量的定义,并分配内存空间;但是在Java中,仅仅通过类来定义变量不会分配内存空间,必须使用new关键字来完成内存空间的分配。可以将类比喻成图纸,对象比喻成零件,图纸说明了零件的参数及其承担的任务;一张图纸可以生产出具有相同性质的零件,不同图纸可以生产不同类型的零件。在Java中,使用new关键
3、字,就可以通过类来创建对象,即将图纸生产成零件,这个过程叫做类的实例化,因此也称对象是类的一个实例。注意:类只是一张图纸,起到说明的作用,不占用内存空间;对象才是具体的零件,要有地方来存放,才会占用内存空间。类所包含的变量和函数都有特定的称呼,变量被称为属性(通常也称成员变量),函数被称为方法,属性和方法统称为类的成员。,面向对象编程(ObjectOrientedProgramming,OOP),类是一个通用的概念,Java、C+、C#、PHP等很多编程语言中都有类,都可以通过类创建对象。可以将类看做是结构体的升级版因为Java、C+等语言都支持类和对象,所以使用这些语言编写程序也被称为面向对
4、象编程,这些语言也被称为面向对象的编程语言。,在Java中,可以将完成某个功能的代码块定义为方法,将具有相似功能的方法定义在一个类中,也就是定义在一个源文件中(因为一个源文件只能包含一个公共的类),多个源文件可以位于一个文件夹,这个文件夹有特定的称呼,叫做包。,JAVA中项目的结构,面向对象编程在软件执行效率上绝对没有任何优势,它的主要目的是方便程序员组织和管理代码,快速梳理编程思路,带来编程思想上的革新。,Java类库及其组织结构(JavaAPI),Java官方为开发者提供了很多功能强大的类,这些类被分别放在各个包中,随JDK一起发布,称为Java类库或JavaAPI。API(Applica
5、tionProgrammingInterface,应用程序编程接口)是一个通用概念。JavaAPI也有一个说明文档,入口地址:,以java.*开头的是Java的核心包,所有程序都会使用这些包中的类;以javax.*开头的是扩展包,x是extension的意思,也就是扩展。虽然javax.*是对java.*的优化和扩展,但是由于javax.*使用的越来越多,很多程序都依赖于javax.*,所以javax.*也是核心的一部分了,也随JDK一起发布。以org.*开头的是各个机构或组织发布的包,因为这些组织很有影响力,它们的代码质量很高,所以也将它们开发的部分常用的类随JDK一起发布。,在包的命名方面
6、,为了防止重名,有一个惯例:大家都以自己域名的倒写形式作为开头来为自己开发的包命名,java中常用的几个包介绍,java.lang该包提供了Java编程的基础类,例如Object、Math、String、StringBuffer、System、Thread等,不使用该包就很难编写Java代码了。java.util该包提供了包含集合框架、遗留的集合类、事件模型、日期和时间实施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。java.io该包通过文件系统、数据流和序列化提供系统的输入与输出。该包提供实现网络应用与开发的类。,java中常用的几个包介绍,java.sql该包提供了
7、使用Java语言访问并处理存储在数据源(通常是一个关系型数据库)中的数据API。java.awt这两个包提供了GUI设计与开发的类。java.awt包提供了创建界面和绘制图形图像的所有类,而javax.swing包提供了一组“轻量级”的组件,尽量让这些组件在所有平台上的工作方式相同。javax.swing同上。java.text提供了与自然语言无关的方式来处理文本、日期、数字和消息的类和接口。,Javaimport以及Java类的搜索路径,如果你希望使用Java包中的类,就必须先使用import语句导入。import语句与C语言中的#include有些类似,语法为:importpackage1
8、.package2.classname;package为包名,classname为类名。,importjava.util.Date;/导入java.util包下的Date类importjava.util.Scanner;/导入java.util包下的Scanner类importjavax.swing.*;/导入javax.swing包下的所有类,*表示所有类,注意:import只能导入包所包含的类,而不能导入包。为方便起见,我们一般不导入单独的类,而是导入包下所有的类,例如importjava.util.*;。Java编译器默认为所有的Java程序导入了JDK的java.lang包中所有的类(
9、importjava.lang.*;),其中定义了一些常用类,如System、String、Object、Math等,因此我们可以直接使用这些类而不必显式导入。但是使用其他类必须先导入。,Java类的搜索路径,Java程序运行时要导入相应的类,也就是加载.class文件的过程。安装JDK时,我们已经设置了环境变量CLASSPATH来指明类库的路径,它的值为.;%JAVA_HOME%lib,而JAVA_HOME又为D:ProgramFilesjdk1.7.0_71,所以CLASSPATH等价于.;D:ProgramFilesjdk1.7.0_71lib。Java运行环境将依次到下面的路径寻找并载入字节码文件Test.class:.p1Test.class(.表示当前路径),Java类的搜索路径,D:ProgramFilesjdk1.7.0_71libp1Test.class如果在第一个路径下找到了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年AI情绪调节设备太赫兹技术应用前景
- 2026届广东惠州市惠阳区中考一模英语试题含答案
- 2026届福建省泉州市永春县中考二模英语试题含答案
- 2026届江苏省南京联合体【栖霞、江宁、雨花】中考猜题语文试卷含解析
- 空压机皮带张紧规程
- 2026年幼儿园食品安全应急演练总结
- 2026年教育实习报告
- 银行从业资格考试初级真题题库
- 防动物伤害消防安全管理规定
- 学校学生结业管理规定
- 项目周报与月度总结报告模板大全
- 手术室收费项目课件
- 民法典侵权责任法课件
- 晶圆制造工艺流程优化策略
- 教育热点问题研究与发展趋势
- 路灯运行与管理课件图片
- 中国消化内镜诊疗镇静-麻醉专家共识
- DB3301∕T 0298-2024 机关事务管理 会议服务规范
- 医疗废水处理方案设计
- 哈密鑫源矿业有限责任公司新疆哈密市白鑫滩铜镍矿采矿工程环评报告
- CJ/T 324-2010真空破坏器
评论
0/150
提交评论