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

做网站只用php不用html网站搭建公司哪家好

做网站只用php不用html,网站搭建公司哪家好,东营建设信息网招聘,著名建筑设计案例文章内容: 自定义实现枚举enum关键字实现枚举 ❤️内容涉及枚举的定义,快速入门,注意事项和小题巩固知识点 🌈 跟着B站一位老师学习的内部类内容,现写这篇文章为学习内部类的小伙伴提供思路支持,希望可以一…

文章内容:

  • 自定义实现枚举
  • enum关键字实现枚举

❤️内容涉及枚举的定义,快速入门,注意事项和小题巩固知识点
🌈 跟着B站一位老师学习的内部类内容,现写这篇文章为学习内部类的小伙伴提供思路支持,希望可以一起感受java的魅力,爱上java编程!!!


1、枚举

1.1介绍

1.1.1、介绍

枚举类【枚:一个一个 举:即把具体的对象一个一个列举出来的类就称为枚举类】

  1. 枚举对应英文(enumeration,简写:enum)
  2. 枚举是一组常量的集合[春、夏、秋、冬]
  3. 可以这里理解:枚举属于一种特殊的类,里面只包含一组有限的特定对象
  • final + static不会导致类加载
  1. 不需要提供setXxx方法,因为枚举对象值通常为只读。
  2. 对每枚举 对象/属性 使用 final + static 共同修饰,实现底层优化。
  3. 枚举对象名通常使用全部大写**,常量的命名规范。**
  4. 枚举对象根据需要,也可以有多个属性
    枚举示例(未使用enum形式):
    在这里插入图片描述
    (此时的构造器使用private修饰,所以不能使用new的方法进行类的初始化,只能使用类名.静态属性/方法)
    代码演示:
package com.fhsedu.enum_;
public class Enumeration02 {public static void main(String[] args) {//运行结果见下图System.out.println(Season.SPRING);System.out.println(Season.AUTUMN);System.out.println(Season.SUMMER);System.out.println(Season.WINTER);}
}
class Season{private String name;private String desc;public final static Season SPRING = new Season("春天","温暖");public final static Season SUMMER = new Season("夏天","炎热");public final static Season AUTUMN = new Season("秋天","凉爽");public final static Season WINTER = new Season("冬天","寒冷");//1、将构造器私有化,目的防止  直接  new//2、去掉setXxx方法,防止属性被修改//3、在Season 内部,直接创建固定的对象//4、优化:可以  加入 final修饰符private Season(String name,String desc) {this.name = name;this.desc = desc;}public String getName() {return name;}public String getDesc() {return desc;}@Overridepublic String toString() {return "Season{" +"name='" + name + '\'' +", desc='" + desc + '\'' +'}';}
}

在这里插入图片描述

1.1.2、enum关键字实现枚举

很多情况下,枚举类是不希望进行更改的,但是可以进行获取内容,所以枚举类中只有getXxx方法,没有setXxx方法

enum关键字实现枚举,快速入门
语法:
在这里插入图片描述

体会和自定义枚举的区别

  • 使用普通方法
    public final static Season SPRING = new Season("春天","温暖");public final static Season SUMMER = new Season("夏天","炎热");public final static Season AUTUMN = new Season("秋天","凉爽");public final static Season WINTER = new Season("冬天","寒冷");
  • 使用枚举方法(有多个枚举使用逗号分隔(,)最后使用分号结尾(;))
  SPRING("春天","温暖"), SUMMER("夏天","炎热"), AUTUMN("秋天","凉爽"), WINTER("冬天","寒冷");

枚举演示

enum Season03{//如果使用了enum 代替class//2、public static final Season SPRING =//  new SPRING("春天","温暖");解读 常量名(实参列表)//3、如果有多个常量(对象) 使用   ,   号间隔即可//4、如果使用enum 来实现枚举,要求将定义常量对象,写在前面SPRING("春天","温暖"), SUMMER("夏天","炎热"),AUTUMN("秋天","凉爽"), WINTER("冬天","寒冷");private String name;private String desc;//描述Season03(String name, String desc) {this.name = name;this.desc = desc;}public String getName() {return name;}public String getDesc() {return desc;}@Overridepublic String toString() {return "Season03{" +"name='" + name + '\'' +", desc='" + desc + '\'' +'}';}
}

1.2、快速入门

  • 如果我们使用的是无参构造器,创建常量对象则可以省略()
SPRING("春天","温暖"), 
SUMMER("夏天","炎热"), 
AUTUMN("秋天","凉爽"),
WINTER("冬天","寒冷"),WHAT;
private String name;
private String desc;//描述private Season03(){}
Season03(String name, String desc) {this.name = name;this.desc = desc;
}

1.3、enum注意事项

  1. 当我们使用enum 关键字开发一个枚举类时,默认会继承Enum类,而且是一个final 类,使javap进行验证
    在这里插入图片描述
  1. 传统的public static final Season2 SPRING = new Season2("春天","温暖");简化成SPRING("春天","温暖"),这里必须知道,它调用了那个构造器。
  2. 如果使用无参构造器 创建 枚举对象,则实参列表和小括号都可以省略
  3. 当有多个枚举对象时,使用 , 间隔,最后有一个分号结尾
  4. 枚举对象必须放在枚举类的行首
    在这里插入图片描述

1.4、enum判断是否可行

判断下面的代码是否正确,并说明其含义
在这里插入图片描述

解答:

  1. 上面的语法是可以的
  2. 有一个枚举类Gender,没有属性
  3. 有两个枚举对象 BOY,GIRL,使用的无参构造器创建

下列代码输出的内容是什么?
在这里插入图片描述

enum的修饰为:public final static ....

package com.fhsedu.enum_;/*** @author fhs* @version 1.0*/
public class EnumerationExercise01 {public static void main(String[] args) {Gender2 boy = Gender2.BOY;//OKGender2 boy2 = Gender2.BOY;//OKSystem.out.println(boy);//BOY/*public String toString() {return name;}*/System.out.println(boy == boy2);//public final static}
}
enum Gender2{BOY,GIRL;
}

Enum中底层源代码:


1.5、Enum常用方法

了解Enum的一般常用方法

代码演示

package com.fhsedu;
@SuppressWarnings("all")
public class EnumDemo01 {public static void main(String[] args) {Season spring = Season.SPRING;System.out.println(spring);//SPRINGSystem.out.println(spring.name());//SPRINGSystem.out.println(spring.ordinal());//0Season[] values = Season.values();//枚举中的所有类型for (Season season : values) {//SPRING//SUMMERSystem.out.println(season);}Season summerValue = Season.valueOf("SUMMER");System.out.println(summerValue);//SUMMERSystem.out.println(spring.compareTo(summerValue));//-1    (spring的位置号 - summerValue的位置号)}
}enum Season {SPRING("春天", "温暖"),SUMMER("夏天", "炎热");private String name;private String describe;Season(String name, String describe) {this.name = name;this.describe = describe;}public String getName() {return name;}public String getDescribe() {return describe;}
}


对象.ordinal() —>输出对象的序号/编号

  • valuesOf用法
//执行流程
//1、根据你输入的 "SPRING" 到  Season03的枚举对象去查找
//2、如果找到了,就返回,如果没有找到,就报错
Season03 spring1 = Season03.valueOf("SPRING");
System.out.println("spring = " + spring1);//对象信息
System.out.println(spring == spring1);//true

如果valueOf(“SPRING”)该对象中没有该信息,就会报错:

没有一个枚举常量

  • CompareTo
System.out.println("====compareTo====");
//compareTo:比较两个枚举常量,比较的就是编号
//1、就是把  Season2.AUTUMN  枚举对象的编号和Season03.AUTUMN枚举对象的编号进行比较
//2、看看结果
/*
*  public final int compareTo(E o) {
return self.ordinal - other.ordinal;}* Season03.SPRING的编号[0] - Season03.AUTUMN[2]的编号* */System.out.println(Season03.SPRING.compareTo(Season03.AUTUMN));//-2

所有方法:

package com.fhsedu.enum_;/*** @author fhs* @version 1.0*/
public class EnumMethod {public static void main(String[] args) {//使用Season03  枚举类,来演示各种方法Season03 spring = Season03.SPRING;//输出枚举对象的名字System.out.println(spring.getName());//春天//ordinal()  输出的是该枚举对象的次序/编号 ,从0开始//SPRING 枚举对象是第一个,因此输出0System.out.println(spring.ordinal());//0//从反编译可以看出  values  方法  返回Season03[]//含有定义的所有枚举对象System.out.println(spring.values());System.out.println("====valuesOf====");//valueOf:将字符串转换成枚举对象,要求字符串必须为己有的常量名,否则会报异常//执行流程//1、根据你输入的 "SPRING" 到  Season03的枚举对象去查找//2、如果找到了,就返回,如果没有找到,就报错Season03 spring1 = Season03.valueOf("SPRING");//Season03中找不到就会报错//        Season03 season031 = Season03.valueOf("FHS");System.out.println("spring = " + spring1);//对象信息System.out.println(spring == spring1);//trueSystem.out.println("====compareTo====");//compareTo:比较两个枚举常量,比较的就是编号//1、就是把  Season2.AUTUMN  枚举对象的编号和Season03.AUTUMN枚举对象的编号进行比较//2、看看结果/**  public final int compareTo(E o) {return self.ordinal - other.ordinal;}* Season03.SPRING的编号[0] - Season03.AUTUMN[2]的编号* */System.out.println(Season03.SPRING.compareTo(Season03.AUTUMN));//-2Season03[] season03s = Season03.values();System.out.println("----遍历取出枚举对象(增强for)----");for (Season03 season03 : season03s) {//增强for循循环System.out.println(season03);}/*for (Season03 season03 : season03s) {//快捷键  season03.for}*/}
}

1.6、enum实现星期打印

package com.fhsedu.enum_;public class EnumExercise01 {public static void main(String[] args) {//获取所有的枚举内容Week[] weeks = Week.values();System.out.println("====所有星期的信息如下====");for (Week week : weeks) {//将所有的枚举信息输出出来System.out.println(week.getDay());}}
}enum Week {//定义Week的枚举对象MONDAY("星期一"),TUESDAY("星期二"),WEDNESDAY("星期三"),THURSDAY("星期四"),FRIDAY("星期五"),SATURDAY("星期六"),SUNDAY("星期日");private String day;private Week(String day) {this.day = day;}public String getDay() {return day;}
}

在这里插入图片描述

1.7、enum实现接口

  • enum不能继承其他类

  1. 使用enum关键字后,就不能再继承其他类了,因为enum会隐式继承Enum,而java是单继承机制
  2. 枚举类和普通类一样,可以实现接口,如下形式:

enum 类名 implements 接口1,接口2{}

package com.fhsedu.enum_;/*** @author fhs* @version 1.0*/
public class EnumDetail {public static void main(String[] args) {Music.CLASSMUSIC.playing();}
}
//1、enum实现的枚举类,仍然是一个类,所以还是可以实现接口的
interface IPlaying {public void playing();
}
//2、enum本身继承了Enum类,所以不能继承其他类了
enum Music implements IPlaying {CLASSMUSIC();@Overridepublic void playing() {System.out.println("播放好听的音乐....");}
}

http://www.lryc.cn/news/616945.html

相关文章:

  • 大型企业网站建设制作口碑营销案例及分析
  • 我想投资谁有项目台州关键词首页优化
  • 东莞网站建设定制下载百度app并安装
  • 哈尔滨市建筑企业管理站网站优化是什么
  • 专做视频和ppt的网站南京网站推广排名
  • 做个网站得多少钱制作一个简单的网站
  • 做网络竞拍的网站需要什么seo怎么学在哪里学
  • 网站建设的行业市场的特点百度广告服务商
  • 小说网站开发的实际意义手机软文广告300字
  • 工商网站查询企业谷歌浏览器官方app下载
  • 建立个机密网站nba哈登最新消息
  • 表情包做旧网站河北seo关键词排名优化
  • 福田网站建设价格韩国搜索引擎排名
  • 镇江做网站要多少钱长沙网站定制公司
  • 盐城网站开发建设宣传推广计划
  • 深圳制作网站制作公司哪家好做任务赚佣金一单10块
  • 网站网络推广运营山东seo推广
  • 广州网站建设电话优化营商环境应当坚持什么原则
  • 女人动漫做受网站seo快速优化
  • 人力资源做网站的好处站长统计推荐
  • 表格制作excel基础教学武汉网络优化知名乐云seo
  • 如何建立和设计公司网站作文推广手段有哪些
  • 咸阳网站建设哪家好网络营销企业案例分析
  • 快普网站怎么做采购退货今天国际新闻大事
  • 绍兴建站模板系统宁波网络优化seo
  • 网站建设普票seo站内优化教程
  • 上传网站工具模板建站网页
  • 自己可以做网站优化大师免费下载
  • 武汉给政府做网站的公司如何创建个人网站免费
  • 苏州网站建设建站网交换友情链接的方法