- 1、本文档共33页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java面向对象程序设计笔记
Java面向对象
程序设计
*面向对象程序设计
思想:在进行程序开发之前,先将程序的业务变化进行合理的分析,将程序中的代码与现实中的事物结构特征结合起来考虑。
优点:实现了程序系统的可扩展性,可重用性,可维护性。
缺点:体系庞大,难以掌握。
B.面向对象程序设计和结构化程序设计应用程序的区别
区别:对数据和对数据的处理的区别
面向对象应用程序将程序中的数据和对数据的操作描述为一个整体,即类。
Java应用程序
搭建开发环境
JDK
环境变量
Path环境变量
Classpath环境变量
JRE的结构和作用
类的设计与对象的构造
类的两个要素
※面向对象的两个要素
类对象
两者的关系:类是对象的模板,对象是类的具体存在
根据某个类可以产生多个对象,各个对象相互之间毫无关联
核心:类的设计,而不是对象的构造
※类的定义
1、类的2个要素
属性:描述类的特征
方法:描述类的行为
2、类的定义
modifiers class 类名{
属性定义
方法定义
}
modifiers :
public
abstact
final (abstact.final不能同时修饰类)
类名:是标识符。必须是名词或名词短语,每个单词的首写字母大写。
3、属性定义
修饰符 数据类型 属性名
数据类型 .8个基本数据类型
.引用: 类 \接口\ 数组
属性名:必须是名词或名词短语,除第一个单词的首写字母小写,其他的首字母必须大写,相互之间用下划线关联
4、方法定义
修饰符 方法的返回值类型 方法名(形参列表){
Java代码
}
修饰符 :3p, static,final, abstract 最多有3个
参数列表:包括参数类型,个数,顺序
形参:方法被调用时,用来接收外部传来的数据
实参:调用方法时,用来传递给被调用函数的实际数据
方法名:动词或者动名词短语,第一个单词的首字母小写,其余各个单词的首字母大写
5、类的安全机制
定义类的属性时,应将属性定义为私有的只有本类自己可以直接操作,而向外部提供操作(公有属性的操作方法)。
构造函数
※定义了一个类就相当于定义了一个新的引用类型。在类构造为对象之后,数的属性和方法就变成了对象的属性和方法。
作用:初始化对象的属性。
语法要求:
1)与类同名
2)没有返回值类型
3)不能用return语句返回具体的值,但可以有return语句。
*在构造对象的过程中,构造函数只被系统自动调用一次。可以根据用户对对象的显性初始化要求定义多个构造函数。
Employee employee=new Employee(1,JYY);
构造的顺序:
a.首先Employee employee 在栈中声明一个正确的Employee 类型的引用变量。此
时该变量不占据内存空间
b.new Employee(1,JYY) 在堆中产生一个正确的Employee 类的对象。此处又分
两步,先对对象的属性进行默认初始化,再对对象的属性进行显示初始化。
c.将堆对象的首地址的值赋给栈中的引用变量,此时该变量占据存储空间。
Java对内存的管理
Java内存的分配:由Java解释器分配内存
Java是以堆和栈的形式分配内存
基本数据类型数据:Java解释器为其在栈中开辟内存
引用数据类型数据:Java解释器为其在堆中分配一块内存用来存放根据引用数据类型所产生的对象,同时会在栈中声明一个引用变量来指向这个对象,该引用变量的值是该对象在堆中的首地址值(4个字节)。
Java内存的管理:内存的垃圾回收
对于栈中的数据,在程序运行出其方法的作用域范围中时,系统会自动将其从内存中清除,对于堆中的对象在程序运行出其方法的作用域范围中时,只是变成了垃圾,仍然占据着内存,由Java垃圾收集器在将来某个不确定的时候从内存中清除。
Java源文件的结构
Package:用来管理类,并且避免类的重名。
当某个类用包管理时,该类所属的源文件必须存放在与包各一致的目录结构下。
包名小写,位于源文件的第一行。
对于有包管理的类:
编译是指编译某一路径下的.java文件。而运
文档评论(0)