当前位置: 首页 > news >正文

国外 设计师 网站wordpress wp-pic主题

国外 设计师 网站,wordpress wp-pic主题,建设一个企业网站一般多少钱,成都网页制作推广面向对象程序设计#xff08;简称OOP#xff09;是当今主流的程序设计范型#xff0c;它已经取代了20世纪70年代的“结构化”过程化程序设计开发技术。Java是完全面向对象的#xff0c;必须熟悉OOP才能够编写Java程序。面向对象的程序是由对象组成的#xff0c;每个对象包… 面向对象程序设计简称OOP是当今主流的程序设计范型它已经取代了20世纪70年代的“结构化”过程化程序设计开发技术。Java是完全面向对象的必须熟悉OOP才能够编写Java程序。面向对象的程序是由对象组成的每个对象包含对用户公开的特定功能部分和隐藏的实现部分。 ~ 本篇主要记录内容包括面向对象程序设计概述、静态域与静态方法、构造器、内部类。 上一篇内容Java基础Java流程控制下一篇内容Java基础Java面向对象更多知识学习全网最全的 Java 技术栈内容梳理持续更新中 文章目录一、面向对象程序设计概述1、类2、对象3、类之间的关系二、静态域与静态方法1、关键字static2、关键字final3、静态域与静态方法三、构造器1、构造方法的特点2、 构造方法的重载3、子父类中的构造方法4、注意事项四、内部类1、内部类概念2、内部类的分类一、面向对象程序设计概述 面向对象程序设计简称OOP是当今主流的程序设计范型它已经取代了20世纪70年代的“结构化”过程化程序设计开发技术。Java是完全面向对象的必须熟悉OOP才能够编写Java程序。面向对象的程序是由对象组成的每个对象包含对用户公开的特定功能部分和隐藏的实现部分。 1、类 类class是构造对象的模板或蓝图。我们可以将类想象成制作小甜饼的切割机将对象想象为小甜饼。由类构造construct对象的过程称为创建类的实例instance。 用 Java 编写的所有代码都位于某个类的内部。标准的 Java 库提供了几千个类可以用于用户界面设计、日期、日历和网络程序设计。尽管如此还是需要在 Java 程序中创建一些自己的类以便描述应用程序所对应的问题域中的对象。 2、对象 要想使用 OOP一定要清楚对象的三个主要特性 对象的行为——可以对对象施加哪些操作或可以对对象施加哪些方法对象的状态——当施加那些方法时对象如何响应对象的标识——如何辨别具有相同行为与状态的不同对象 同一个类的所有对象实例由于支持相同的行为而具有家族式的相似性。对象的行为是用可调用的方法定义的。 此外每个对象都保存着描述当前特征的信息。这就是对象的状态。对象的状态可能会随着时间而发生改变但这种改变不会是自发的。对象状态的改变必须通过调用方法实现如果不经过方法调用就可以改变对象状态只能说明封装性遭到了破坏。 但是对象的状态并不能完全描述一个对象。每个对象都有一个唯一的身份identity。例如在一个订单处理系统中任何两个订单都存在着不同之处即使所订购的货物完全相同也是如此。需要注意作为一个类的实例每个对象的标识永远是不同的状态常常也存在着差异。 对象的这些关键特性在彼此之间相互影响着。例如对象的状态影响它的行为如果一个订单 “已送货” 或 “已付款”就应该拒绝调用具有增删订单中条目的方法。反过来如果订单是 “空的”即还没有加入预订的物品这个订单就不应该进入“已送货”状态。 3、类之间的关系 在类之间最常见的关系有依赖uses-a、聚合has-a、继承is-a 依赖dependence即 “uses-a” 关系是一种最明显的、最常见的关系。例如Order类使用Account类是因为Order对象需要访问Account对象查看信用状态。但是Item类不依赖于Account类这是因为Item对象与客户账户无关。因此如果一个类的方法操纵另一个类的对象我们就说一个类依赖于另一个类。 应该尽可能地将相互依赖的类减至最少。如果类A不知道B的存在它就不会关心B的任何改变这意味着B的改变不会导致A产生任何bug。用软件工程的术语来说就是让类之间的耦合度最小。 聚合aggregation即 “has-a” 关系是一种具体且易于理解的关系。例如一个 Order 对象包含一些 Item 对象。聚合关系意味着类 A 的对象包含类B的对象。 继承inheritance即 “is-a” 关系是一种用于表示特殊与一般关系的。例如Rush Order 类由 Order 类继承而来。在具有特殊性的 RushOrder 类中包含了一些用于优先处理的特殊方法以及一个计算运费的不同方法而其他的方法如添加商品、生成账单等都是从 Order 类继承来的。一般而言如果类 A 扩展类 B类 A 不但包含从类 B 继承的方法还会拥有一些额外的功能。 二、静态域与静态方法 1、关键字static static关键字的主要意义是在于创建独立于具体对象的域变量或者方法。以致于即使没有创建对象也能使用属性和调用方法 static关键字的另一个比较关键的作用就是用来形成静态代码块以优化程序性能。static块可以置于类中的任何地方类中可以有多个static块。在类初次被加载的时候会按照static块的顺序来执行每个static块并且只会执行一次。 static 注意事项 静态内容是优先于对象存在的只能访问静态 。静态修饰的内容存于内存的静态区main 方法为静态方法仅仅为程序执行入口它不属于任何一个对象可以定义在任意类中静态上下文中不能引用非静态的成员变量或成员方法在静态上下文中无法使用 this/super 关键字 因为 this/super 指代的是对象 静态变量和成员变量的区别 所属不同静态变量属于类所以也称为为类变量成员变量属于对象所以也称为实例变量(对象变量) 内存中位置不同静态变量存储于方法区的静态区成员变量存储于堆内存 内存出现时间不同静态变量随着类的加载而加载随着类的消失而消失成员变量随着对象的创建而存在随着对象的消失而消失 调用不同静态变量可以通过类名调用也可以通过对象调用成员变量只能通过对象调用 2、关键字final 继承的出现提高了代码的复用性并方便开发。但随之也有问题有些类在描述完之后不想被继承或者有些类中的部分方法功能是固定的不想让子类重写。可是当子类继承了这些特殊类之后就可以对其中的方法进行重写那怎么解决呢 要解决上述的这些问题需要使用到一个关键字 final final 的意思为最终不可变。 final 是个修饰符它可以用来修饰 类类的成员以及局部变量。 final 特点 final 修饰类不可以被继承但是可以继承其他类final 修饰的方法不可以被覆盖,但父类中没有被 final 修饰方法子类覆盖后可以加 finalfinal 修饰的变量称为常量这些变量只能赋值一次final 修饰的引用类型的变量值为对象地址值地址值不能更改但是地址内的对象属性值可以修改final 修饰成员变量必须在创建对象前赋值或在多个构造方法中进行赋值否则报错。 3、静态域与静态方法 如果将域定义为static每个类中只有一个这样的域。而每一个对象对于所有的实例域却都有自己的一份拷贝。 Ps在绝大多数的面向对象程序设计语言中静态域被称为类域。术语 “static” 只是沿用了 C 的叫法并无实际意义。 静态变量使用得比较少但静态常量却使用得比较多。例如在 Math 类中定义了一个静态常量PI。在程序中可以采用 Math.PI 的形式获得这个常量。如果关键字 static 被省略PI 就变成了 Math 类的一个实例域。需要通过 Math 类的对象访问 PI并且每一个 Math 对象都有它自己的一份 PI 拷贝。 静态方法是一种不能向对象实施操作的方法。 三、构造器 构造器也被称为构造方法是一种特殊的方法调用构造方法可以创建新对象。构造方法可以执行任何操作实际应用中构造方法一般用于初始化操作例如初始化对象的数据域。 构造方法定义修饰符 构造方法名 (参数列表){} 1、构造方法的特点 构造方法没有返回类型包括没有 void。也不需要写返回值。因为它是为构建对象的对象创建完方法就执行结束构造方法名必须和类名保持一致只有在创建对象的时候自动调用执行而且只执行一次 2、 构造方法的重载 一个类中可以有多个构造方法多个构造方法是以重载的形式存在的 意义在于可以根据不同的需求定义不同的构造方法灵活地初始化对象的成员变量 构造方法是可以被 private 修饰作用是其他程序无法创建该类的对象 3、子父类中的构造方法 在创建子类对象时父类的构造方法会先执行因为子类中所有构造方法的第一行有默认的隐式super(); 语句它是用来访问父类中的空参数构造方法进行父类成员的初始化操作 this()是调用本类的构造方法super() 是调用父类的构造方法, 且两条语句不能同时存在 4、注意事项 每一class类都必须有一个构造方法如果自己不写编译的时候系统会给出默认构造方法构造方法也是可以重载的在创建对象时会调用与参数列表对应的构造方法子类的所有构造方法直接或间接必须调用到父类构造方法; 子类的构造方法什么都不写默认的构造方法第一行super() 四、内部类 1、内部类概念 将类写在其他类的内部可以写在其他类的成员位置和局部位置这时写在其他类内部的类就称为内部类。其他类也称为外部类。在描述事物时若一个事物内部还包含其他可能包含的事物比如在描述汽车时汽车中还包含这发动机这时发动机就可以使用内部类来描述。 class 汽车 { //外部类class 发动机 { //内部类} }内部类的特点①内部类提供了更好的封装只有外部类能访问内部类②内部类可以独立继承一个接口不受外部类是否继承接口影响③内部类可以直接访问外部类的成员包括私有 private④健外部类要访问内部类的成员必须创建对象⑤在外部类中即使内部类中用 private 修饰的成员也可以在外部类中以 内部类 对象.成员 的方式访问⑥private 修饰内部类则外部类以外不能访问只能在外部类访问。 2、内部类的分类 内部类分为 成员内部类 与 局部内部类其次还有 匿名内部类、静态内部类 成员内部类定义在外部类中的成员位置与类中的成员变量相似可通过 外部类.对象 进行访问访问方式 外部类名.内部类名 变量名 new 外部类名().new 内部类名();。局部内部类定义在外部类方法中的局部位置。与访问方法中的局部变量相似可通过调用方法进行访问访问方式 在外部类方法中创建内部类对象进行访问。Ps①局部内部类只能在方法体中使用②局部类不能加访问修饰符因为它们不是类成员③局部类可以直接访问外部类成员④JDK8或者更高版本从语法上讲不要求被局部内部类所访问的局部变量一定要加 final但是如果在代码中没有 final只要局部内部类访问局部变量编译器会自动给局部变量加 final。匿名内部类就是一个没有名字的局部内部类匿名内部类是创建某个类型子类对象的快捷方式没有名字意味着类不能通过名字来复用。不能复用并不意味着不能使用它还是可以被使用的但是只能被使用一次在类定义的时候使用一次。Ps①匿名内部类是没有访问修饰符②匿名内部类必须继承一个类可以是 具体类也可以是抽象类 或者实现一个接口③匿名内部类中不能存在任何静态成员或方法④匿名内部类是没有构造方法因为它没有类名⑤匿名内部类为局部内部类所以局部内部类的所有限制同样对匿名内部类生效⑥匿名内部类不能是抽象的所以它必须要实现继承的类或者实现的接口的所有抽象方法静态内部类使用static修饰的成员内部类我们称之为静态内部类静态内部类的创建是不需要依赖于外部类可以直接创建访问特征①对于静态内部类而言它不能访问外部类中非静态的成员变量和成员方法②在外部类中访问静态内部类和访问普通成员内部类没有任何区别③在外部类的外部访问静态内部类由于静态内部类不依赖于外部类对象 : new 外部类类名.内部类类名()
http://www.huolong8.cn/news/347951/

相关文章:

  • 全立体网站建设网站建设和信息工作会议
  • 怎么样让网站宣传自己上海市建设局官方网站
  • 邢台网络优化技术公司百度seo营销推广
  • 网站管理员后台重庆装修全包价多少钱一平方
  • 天河网站建设公司wordpress app发表
  • wordpress 头像seo平台优化
  • 网站服务器租用价格 贴吧唯爱wordpress主题
  • 怎么用h5网站做动效杭州网站推广
  • 建设银行沈阳分行网站论坛网站建设公司
  • 关于校园图书馆网站建设网站建设含义
  • asp装饰公司网站源码磁力搜索网站怎么做的
  • 企业门户网站建设咨询商务网站建设教程
  • 关于网站建设的合同范本搜索引擎排名
  • 阿里巴巴免费做网站住房和城乡建设主管部门网站
  • 网站注册协议免费申请电信卡
  • 做什网站好wordpress文章付费阅读
  • 网站开发是分为前端和后端吗请简述网站开发的流程
  • 做美工用的网站市场营销案例100例
  • 做外贸有哪些网站比较好烟台市网站建设
  • 张家港网站建设服务做一个天猫店铺要多少钱
  • 给人做网站的做网站域名的成本
  • 网站跳转怎么办山西网站建设公司排名
  • 网站开发业内人士做购物网站用服务器
  • 长沙网站建设论坛网站策划方案书的内容
  • 西北建设有限公司网站空中乘务专业简历制作
  • 权威的南昌网站设计网站销售好做吗
  • ip做网站地址湘潭网站建设厦门网站制作
  • 网吧网络组建方案seo教程自学
  • 桂林 网站 制作网站维护的工作内容步骤
  • 淮南 小学网站建设红安县建设局网站