- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四讲:面向对象
3.面向对象
3.1面向对象的概念
3.1.1理解面向对象
面向对象是相对面向过程而言,面向对象和面向过程都是一种思想,面向对像将功能封装进对象,强调具备了功能的对象。
没有初始化对象,即是没有实例化,系统默认姓名为空值,年龄是0
3.1.2面向对象的特点
1.是一种符合人们思考习惯的思想
2.可以将复杂的事情简单化
3.将程序员从执行者转换成了指挥者
4.完成需求时:
先要去找具有所需的功能的对象来用;
如果该对象不存在,那么创建一个具有所需功能的对象;
简化开发并提高复用。
P1就是一个标识符,没有实际意义,标识符指向对象在堆里面的地址。
3.1.3面向对象开发、设计、特征
1.开发的过程:实际就是不断的创建对象、使用对象,指挥对象做事情的过程。
2.设计的过程:其实就是在管理和维护对象之间的关系。
3.面向对象的特征:封装、继承、多态
3.2类与对象的关系
Java中描述事物通过类的形式体现,类是具体事物的抽象。对象即是该类事物实实在在存在的个体。
3.2.2
当一个程序中有多个类时,保存时文件名必须和main所在的类的类名一致,执行时也必须执行main所在的类的类名,不能执行其他类的类名,否则会出错。
3.2.3成员变量和局部变量的区别
1.成员变量
成员变量定义在类中,在整个类中都可以被访问
成员变量随着对象的建立而建立,存在于对象所在的堆内存中。
成员变量有默认初始化值。
2.局部变量:
存在栈内存中,没有默认初始化值。
定义在局部范围内:如函数内,语句内。
作用的范围结束,变量空间会自动释放。
3.2.5对象内存结构
3.2.6匿名对象
1.匿名对象是对象的简化形式。
2. 匿名对象的两种使用情况
(1)当对象方法仅进行一次调用的时候
(2)匿名对象可以作为实际参数进行传递
class A{
private int x=3;
public static void main(String[]args){
new A().func(new A());//请求解释这句
}
public void func(A a){//请求解释这句,A,a分别代表什么
System.out.println(a.x); //请求解释这句 } }
new A()创建了一个匿名的对象(你可以想象为一个孩子出生了,但没有名字),后面的.func(new A())是该匿名对象的方法(不管孩子有名没名,他都有方法的是吧..),该方法的传递的参数是new A(),注意这里的new A()跟前面那位没名的孩子不是同一人,只不过他也没有名字而已。。 2.这一局就是声明方法func(),方法是参数是类A的对象,所以这里的A是指类A,而a是他的一个对象(注意这里是形参,没有具体创建对象a)。。 3.a是A的实例,他就是有名的孩子了,他的名字叫a,也有属性x,所以该剧输出为3,因为x初始化为3了,所有的A类的实例的x属性初始值都是3.。
private是一个权限修饰符,用于修饰成员(成员变量,成员函数),被私有化的成员只在本类中有效。
例:
private int age; private关键字把属性age 私有化了,只能在本类中可以访问属性age。
2.常用一:将成员变量私有化,对外提供对应的set,get方法对其进行访问。提高对数据访问的安全性。
3.4.2构造函数(构造器)
特点:
函数名与类名相同
不用定义返回值类型
不可以写return语句
作用:
初始化对象
this关键字
哪个对象去调用这个构造函数,this就是哪个对象。
例:
Boolean result=pare(p2);
P1 在调用compare函数,因此this指代p1,而不是p2.
特点:this代表其所在函数所属对象的引用,也就是this代本类对象的引用。
当在函数内需要用到调用该函数的对象时,要用this。
错误分析:语法没错,却没有实现对象的初始化。
static关键字
1.好处:(1)节约空间。涉及国籍等有共性的东西,就用static。
(2)可以直接被类名调用
2.静态的特点:共享!被所有对象所共享
随着类的加载而加载;
优先于对象存在;
可以直接被类名所调用;
被所有对象共享。
3.类变量和实例变量的区别:
存放位置不一样:类变量存放在方法区中(共享区),实例变量随着对象的建立而存在于堆内存中。
生命周期
类变量生命周期最长,随着类的消失而消失,实例变量生命周期随着对象的消失而消失。
Static country(类变量) 存在方法
文档评论(0)