java复习笔记面向对象.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象: 概念:相对于面向过程而言。是一种思想,强调的是功能的对象。 举例理解面向对象: 如请人修车,我只面向修车的人,不面对修车的过程。只看中修好车的结果。 面向对象的本质:以类的方式组织代码,以对象的方式组织数据。 匿名对象 */ //匿名对象使用方式一:当对对象的方法只调用一次时,可以用匿名对象来完成,这样写比较简化。new Car().run(); //如果对一个对象进行多个成员调用,必须给这个对象起个名字。 //匿名对象使用方式二:可以将匿名对象作为实际参数进行传递。 show(new Car()); 构造函数,构造代码块 构造函数 : 对象一建立就会调用与之对应的构造函数. 构造函数的作用: 可以用于给对象进行初始化 一个对象建立,构造函数只运行一次。 对象名{ 参数列表} 给与之对应的对象进行初始化。它具有针对性。 构造代码块 : static{ },或 {} 给所有的对象进行初始化 Person p=new Person(); 在 面向对象三大特征: 封装 继承 多态 封装:隐藏对象属性和细节 ,只对外提供方式 get() 重载和重写: 重载:只看同名函数的参数列表 重写:字符类方法要一模一样。 This 哪个对象在调用this所在的函数,this就代表哪个对象。 调用格式:this(实际参数); this对象后面跟上 . this.name调用的是成员属性和成员方法(一般方法); this对象后面跟上 () this(“哈哈”) 调用的是本类中的对应参数的构造函数。 static★★★: 静态修饰的成员,可以直接被类名所调用 ,想要实现对 象 中的共性数据的对象共享。可以将这个数据进行静态修饰。 静态随着类的加载而加载。而且优先于对象存在。 , 静态方法只能访问静态成员,不可以问 非静态成员。 静态方法中不能使用this,super关键字。 静态的利于弊” 利:对对象的共享数据进行单独空间的存储,节省空间,没有必要每一个对象中都存储一份 可以被类名调用 弊:生命周期过长 访问出现局限性(静态只能访问静态) 实例变量和类变量的区别 1.存放位置:类变量随着类的加载而存在于方法区中。 实例变量随着对象的建立而寻在于堆内存中 2.生命周期 类变量生命周期最长,随着类的消失而消失 实例变量生命周期随着对象的消失而消失 Person p = new Person(zhangsan,20); 该句话都做了什么事情? 1,因为new用到了Person.class.所以会先找到Person.class文件并加载到内存中。 2,执行该类中的static代码块,如果有的话,给Person.class类进行初始化。 3,在堆内存中开辟空间,分配内存地址。 4,在堆内存中建立对象的特有属性。并进行默认初始化。 5,对属性进行显示初始化。 6,对对象进行构造代码块初始化。 7,对对象进行对应的构造函数初始化。 8,将内存地址付给栈内存中的p变量。 执行优先级 静态代码块初始化----默认初始化------显示初始化------构造代码块初始化----构造函数初始化 设计模式 饿汉式:一进内存 就创建了对象 class single{ private single(){}1.将构造函数私有化 private static single s=new single();2.在类中创建一个本类对象 public static single getInstance(){3.提供一个方法可以获取到该对象的方法 return s; } } public class SingleDemo { public static void main(String[] args) { single ss=single.getInstance(); } } *****懒汉式:什么时候调用什么时候创建对象,对象的延时加载 class single{ private single(){} private static single s=null; public static single getInstance(){ if(s==nul

文档评论(0)

***** + 关注
实名认证
内容提供者

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档