第3天-面向对象2.docxVIP

  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文档。上传文档
查看更多
第3天-面向对象2

1、课程名称:面向对象22、上次知识点1. 面向对象的三大主要特征:封装、继承、多态;2. 类与对象的定义:类是对象的模板,对象是类的实例;? 类的组成:属性(变量)和方法;? 对象(类只有通过对象才可以使用);|- 声明并实例化对象:类名称 对象名称 = new 类名称();|- 分步完成:如果使用了为实例化的对象,则会出现NullPointerException(空指向异常)|- 声明对象:类名称 对象名称 = null;在栈内存中开辟|- 实例化对象:对象名称 = new 类名称(); 在堆内存中开辟空间,保存属性值;? 对象的引用传递:一块堆内存空间同时被多个栈所指向的一种操作形式3. 只要是类中的属性都要求使用private进行封装,封装之后的属性如果希望被操作,则需要编写setter,与getter方法;4. 构造方法:为类之中的属性初始化,只有执行了构造方法,堆内存中的属性才可以进行分配;? 构造方法定义要求:方法名称和类名称相同,无返回值类型声明;? 如果一个类中没有明确定义一个构造方法的话,则会自动的生成一个无参的,无返回值的构造方法,如果已经定义了构造方法,则这个默认的构造方法不会生成,一个类中至少有一个构造方法;? 构造方法允许重载,但是在重载的过程中,只考虑参数的个数及类型即可;5. 匿名对象:只开辟了堆内存空间的对象,使用一次之后就成为了垃圾,并且等待被回收;6. 简单Java类的开发原则:初始原则? 类名称要表示出一类的含义;? 类之中的所有属性值都必须封装,封装之后编写setter、getter;? 类之中可以提供多个构造方法,但必须有一个无参构造方法;? 类之中不允许出现任何的System.out.println()输出,所有的输出都要返回调用处完成;7. 数组:数组是一组相关变量的集合? 数组的定义格式:也存在内存的分配问题|- 动态初始化:数组类型[] 数组名称 = new 数组类型 [长度]; 数组内容都是默认值|- 静态初始化:数组类型[] 数组名称 = new 数组类型 []{值, 值,…};? 二维数组:|- 动态初始化:数组类型[] [] 数组名称 = new 数组类型 [长度] [长度]; 理解为一张表|- 静态初始化:数组类型[] [] 数组名称 = new 数组类型 [][]{{值, 值,…}, {值, 值,…},…};? 数组长度:数组名称.length;? 数组的两个操作方法:|- 排序:java.util.Arrays.sort(数组名称);|- 拷贝:System.arraycopy(源数组名称, 源数组开始点, 目标数组名称, 目标数组开始点, 长度)? 对象数组开辟之后需要为每一个数组元素分别进行实例化操作。3、本次课程具体内容3.1、String类(重点)3.1.1?、String类两种对象实例化方式??对于String在之前已经学习过了基本使用,就是表示字符串,那么当时使用的形式采用了直接赋值:public class StringDemo {??public static void main(String args[]) {??String str = Hello ;?//?定义字符串??System.out.println(str) ;??}}??对于String而言肯定是一个类,那么程序之中出现的str应该就是这个类的对象,那么就证明以上的赋值操作实际上就表示要为String类的对象进行实例化操作。??但String毕竟是一个类,那么类之中一定会存在构造方法,String类的构造:public String(String str);public class StringDemo {??public static void main(String args[]) {??String str = new String(Hello) ;???//?定义字符串??System.out.println(str) ;??}}??发现现在也可以通过构造方法为String类对象实例化。3.1.2?、字符串比较??如果说现在有两个int型变量,如果要想知道是否相等,使用“==”进行验证。public class StringDemo {??public static void main(String args[]) {??int x = 10 ;??int y = 10 ;??System.out.println(x == y) ;??}}??但是,同样的操作,现在换成String完成。public class StringDemo {??public static void main(String args[]) {??String str1 = Hello ;?

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档