7.面向对象基础(二)详解.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
匿名对象 1. 没有名字的对象 2. Person p=new Person(); p只是一个对象的名字(引用), new Person()才是创建出来的对象 3. new Person().eat(); 缺点:同一个对象只能调用一次方法 4. 有啥用:传参 a.自定义的类型也可以作为参数的类型去使用 b.形参的类型是Person,那么实参的类型也必须是Person c.实参在传参时可以匿名 d.实参这个对象传到方法中后,可以在方法里调用它的方法 类之间的方法调用 类和类之间是有联系的,体现在方法上,也就是说会出现A类要调用B类的方法 怎么实现? 在方法内先new一个对象,然后调用方法 对象在外部new,然后通过传参进入方法,然后调用方法 司机开车(轿车、巴士、火车) 1.找名词 轿车 品牌 价格 司机 2.分析哪些名词作为类使用,哪些名词作为属性使用 3.找动词 对应的方法 驾驶 4.分析动作是谁主动发出的(使用方和被使用方) public void driveCar(Car c) { c.run(); } static关键字 static即静态,是一个修饰符,用于成员变量和成员方法。 static的特点: 可以通过类名直接调用。被static修饰的成员变量变成了类变量,被static修饰的成员方法变成了类方法,类变量和类方法可以被直接调用:类名.成员变量 类名.成员方法 System.out.print(); 静态属性被类的所有对象共享 static关键字 非静态的成员变量即实例变量,静态变量即类变量,它们的区别: 内存中的位置: 类变量随着类的加载而存在于方法区中。 实例变量随着对象的建立而存在于堆内存中。 生命周期: 静态变量的生命周期最长,随着类的加载而产生,随着类的消失而消失 实例变量的生命周期随着对象的创建而产生,消失而消失。静态属性早 于对象而存在。 所属不同: 类变量所属于整个类,被类的所有对象共享。 实例变量是对象的特有数据,仅仅属于某个对象。 static关键字 使用static的注意事项: 静态方法只能访问静态成员(属性或方法),为什么? 非静态方法既可以访问静态成员也可以访问非静态成员。 非静态方法中不可以定义静态变量,为什么? 静态方法中不可以使用this关键字,为什么? 在通过类名直接调用静态属性时,static能否和private一起使用? 静态的利弊: 利处: 对于对象的共享数据提供单独空间的存储,节省空间,没有必要 每一个对象都存储一份。 可以直接被类名调用,比较方便。 弊端: 生命周期过长。 访问出现局限性。(静态方法只能访问静态成员) main方法 main方法是一个特殊的方法,作为程序执行的入口可以被JVM识别。 main方法是静态的,所以可以被JVM直接调用,非常方便。 main不是Java关键字,但用来被JVM识别为程序执行的入口。 小结 代码块(了解即可) 代码块就是被{ }包裹的部分,Java中的代码块分为: 普通代码块,又称为局部代码块,存在于方法体中 构造代码块,又称为初始化代码块,在使用new关键字创建对象时执行,且先于构造方法执行 静态代码块,被static直接修饰的代码块,在类被加载时就执行,只执行一次 代码块(了解即可) 再论对象创建过程(了解即可) 当执行Person p = new Person(); 时,到底在内存中做了什么? 1,将Person.class文件加载进内存 2,在方法区为静态属性分配内存并进行默认初始化 3,执行静态代码块,静态方法进方法区 4,p是对象(变量),那么在栈内存中开辟一个变量空间p 5,在堆内存中给对象分配空间,并分配内存地址值 6,普通方法进方法区 7,非静态属性进堆内存,并进行默认初始化 8,调用构造代码块(初始化代码块) 9,调用对应的构造方法进行对象初始化,对象初始化完毕 10,将对象内存地址赋值给p变量,让p变量指向该对象 小结 文档注释 演示Java API帮助文档 /** */ 文档注释常用标记有: @author(提取作者信息),用于类 @version(提取版本信息),用于类 @param(提取方法参数信息),用于方法 @return(提取方法返回值信息),用于方法 javadoc命令可以根据文档注释生成帮助文档

文档评论(0)

宝贝计划 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档