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

杭州网站建设索q.479185700广告设计公司的简介

杭州网站建设索q.479185700,广告设计公司的简介,手动删除wordpress插件,网站建设制作pdf文章目录 1. 定义类2. 属性3. 访问权限4. 方法4.1 方法 vs 函数4.2 方法重写4.3 方法重载4.4 构造方法(1) 构造器定义(2) 构造器的参数列表(3) 构造器私有化 5. 继承6. 伴生对象 伴生类6.1 伴生对象的由来6.2 伴生对象 伴生类 7. 后续 1. 定义类 Java文件#xf… 文章目录 1. 定义类2. 属性3. 访问权限4. 方法4.1 方法 vs 函数4.2 方法重写4.3 方法重载4.4 构造方法(1) 构造器定义(2) 构造器的参数列表(3) 构造器私有化 5. 继承6. 伴生对象 伴生类6.1 伴生对象的由来6.2 伴生对象 伴生类 7. 后续 1. 定义类 Java文件一个文件中可以有多个类但是必须存在一个类用public修饰且用public修饰的类的类名 必须与文件名一样。Scala文件一个文件中可以包含多个类且所有的类都不需要用public修饰。因为所有的类默认加上了public关键字如果再写上public就重复了反而就会报错 注意类和属性的修饰符都是默认加上了public关键字如果再写上就重复了反而就会报错。 2. 属性 Java封装操作如下 将属性进行私有化提供一个公共的set方法用于对属性赋值提供一个公共的get方法用于获取属性的值 在scala中所有的属性不管是用public还是private修饰在底层都是private并通过get方法obj.field()和set方法obj.field_(value)访问该属性。因此那个修饰符只用于定义 访问权限 的没有起到封装的效果(Java是借助修饰符达到封装的效果)。 属性的定义 class Student{// 1. 类的属性一般用 var 修饰因为一般要修改属性值// 2. 如果赋null值用 _ 代替 nullvar name: String _// 3. 由于一些场景下Java框架要利用反射调用getXXX和setXXX方法有时候为了和这些框架兼容需要显示生成getXXX和setXXX方法// 如果需要显示的生成getter、setter方法用 BeanProperty 注解即可BeanPropertyvar age: Int _ }object Student{def main(args: Array[String]): Unit {val st new Student()st.age 50} }3. 访问权限 private私有权限只在类的内部和伴生对象中可用。protected为受保护权限同类、子类可以访问同包无法访问。private[包名]为包访问权限指定包名下的类可以访问。默认(什么都不写)就是public任何类都可以访问 4. 方法 4.1 方法 vs 函数 从广义上理解函数 是更加广的一个概念方法 是特殊的 函数。即函数作为类的属性而存在时此时函数叫做方法。 从狭义上理解方法 之外才是 函数。从位置上理解方法 定义在类中做为类的属性函数 定义在方法中。 (狭义的函数)从是否可以重载的角度方法定义在类中可以实现重载函数不可以重载。 (狭义的函数)从运行位置角度方法是保存在方法区函数是保存在堆中。 (狭义的函数) 4.2 方法重写 在def关键字前加上override关键字class Person {def run(): Unit {println(person run)}}class Student extends Person {// 在 def 关键字前加上 override 关键字override def run():Unit {println(student run)} }4.3 方法重载 不用加关键字直接写 class Person {def run(): Unit {println(person run)}def run(name: String): Unit {println(s${name} run)} }4.4 构造方法 (1) 构造器定义 Scala的构造方法分为两类 主构造器必须有辅助构造器必须调用主构造器 主构造器必须有如果主构造器没有参数则括号可以省略。如class Person {...... }主构造器的方法体在哪里 辅助构造方法不能直接构建对象必须直接或者间接调用主构造方法 构造器调用其他另外的构造器要求被调用构造器必须提前声明。也就是说存在代码的先后顺序。 (2) 构造器的参数列表 未用var或val修饰这个参数就是一个局部变量底层有属性的特性var修饰参数作为类的成员属性可以修改val修饰参数作为类的成员属性不能修改 package chapter06object Test07_ConstructorArgs {def main(args: Array[String]): Unit {val person0 new Person(zhangsan,11,男)println(person0.name)println(person0.age)println(person0.sex)} }// 主构造器参数 分为3类: // 没有修饰符 : 作为构造方法中的传入参数使用 // val 修饰 : 会自动生产同名的属性 并且定义为val // var 修饰 : 会自动生产同名的属性 并且定义为var class Person (name1:String,val age:Int,var sex:String){val name name1// val age age// var sex sex }(3) 构造器私有化 实现单例模式时需要将构造器私有化。那么如何将构造器私有化直接在主构造器前上加上private关键字 class Student private (var name: String, var sage: Int){}object Student {private var instance:Student _def getInstance(name:String, age:Int): Student {if (instance null) {instance new Student(zhang, 18)return instance}instance} }5. 继承 Scala和Java一样都是单继承机制 6. 伴生对象 伴生类 6.1 伴生对象的由来 在Java的类中用 static 关键字修饰的内部类、方法、属性可以通过类名访问。比如 class Student{public static String school; } class Main {public static void main(String[] args) {System.out.printf(Student.school); // 通过类名直接访问。} }这里的Student.school是通过类名来访问并不是通过对象访问Java号称面向对象这里就相当与面向对象的理念冲突了。 所以在Scala中没有 static 关键字。为了实现与 static 关键字相同的功能于是引入了伴生对象。 问删除static关键字容易如何实现static关键字的功能呢 思路static 修饰的就是当前类所共享的而Student.school中的Student应该是一个对象而不是类。自然的想到为每个类创建第一个同名字的对象然后将 static 修饰的东西都放入该对象中即可。 例子 class Student(var name:String, var age:Int) {// 定义与类相关的一些信息def printerInfo():Unit {println(s姓名${name}, 年龄${age})} }object Student{// 所有Student在同一所学校var school:String XXX高中 // main方法本来应该用static修饰所以应该写在这里def main(args: Array[String]): Unit {var stu new Student(张三, 18)stu.printerInfo()} }6.2 伴生对象 伴生类 伴生对象用object关键字修饰伴生类用class关键字修饰。 他俩的名字必须相同 且必须放在同一个scala文件中。 class Student{.... } object Student{.... }因为伴生对象相当于是存放static的地方所以所有类的对象共享伴生对象中的数据。 伴生对象与伴生类可以相互访问对方中的数据 7. 后续 差不多了告一段落 https://www.bilibili.com/video/BV1Xh411S7bP?p77
http://www.hkea.cn/news/14461910/

相关文章:

  • 宁德城乡建设部网站首页企业网络设计方案论文
  • 网站链接推广工具宁国市城乡与住房建设网站
  • 建站之星凡客wordpress手机上传图片插件
  • 利津网站定制wordpress微信公众号管理
  • 如何给网站添加音乐wordpress搜索收录
  • 做海报哪个网站好网站301跳转有坏处吗
  • 网站建站知识中国建设银行官网是
  • 合肥市建设工程市场价格信息网站在线做交互网站
  • 网站快速备案安全吗上海游玩攻略必去的地方
  • 网站建设 麻烦吗seo怎么做网站排名
  • 承德网站制作公司优选网十科技商务网站建设的基本步骤
  • 网站建设实践报告3000字建设网站的虚拟机配置
  • 济南长清网站建设广东省建设职业注册中心网站
  • 网站建设概算谁有网址发一个
  • 代挂网站维护电子商务网站建设中的重要性
  • 家居企业网站建设效果如何高效建设品牌网站?
  • 深南花园裙楼+网站建设网站开发文章怎么分类
  • 湖南 网站建设网站关键词库如何做
  • 企业网站关键字优化网站打不开建设中哪的问题
  • 免费ppt模板网站下载wordpress关键
  • 有哪些网站可以免费做外销网页设计培训英文缩写
  • 网站信息发布企业网站建设的作用
  • 德山经济开发区建设局网站怎样做模具钢网站
  • 哪个在家做兼职网站比较好wordpress留言墙
  • 蛋糕店的网站建设咋写加强三农网站建设的意义
  • 公司建设网站的报告制作网站软件排行榜
  • wap网站asp源码有些网站开发人员工具无反应
  • 企业网站改版项目描述网站角色管理
  • 朔州海外网络推广成都市seo网站公司
  • 商丘做网站推广的公司找项目网