首页 > 编程知识 正文

java是面向对象的语言,Java面向对象基础重点

时间:2023-05-05 12:24:15 阅读:11171 作者:2771

1 .枚举类枚举类是指对象数量有限且已确定的类。 例如,季节类有春、夏、秋、冬4个对象。 *对象个数有限,可以一一列举; *定义对象后,无法修改。 【需要定义一组常量时强烈建议使用枚举类】2 .根据枚举类的定义自定义实现枚举类时,自定义需要完成的要求。 1 .用私有文件限定对象的属性。 2 .将构造函数私有化。 私有修饰。 3 .在类中创建对象。 公共静态最终修饰。 4 .在可以存在其他方法的对象属性的getter方法、toString方法等下定义了枚举类。 存在四个季节对象的Season类

public class Season { //1.私有化属性private final String seasonName; 私密金融字符串会话桌面; //2 .私有化生成器privateseason(stringseasonname,String seasonDesc ) { this.seasonName=seasonName; this.seasonDesc=seasonDesc; //3.4向对象宣告春夏秋冬publicstaticfinalseasonspring=new season ('春','春暖花开); publicstaticfinalseasonsummer=new season ('夏天','烈日'); publicstaticfinalseasonautumn=new season ('秋)、'秋高气爽); publicstaticfinalseasonwinter=new season ('冬天','白雪'); //4 .其他方法1 :对象属性的getter方法,在本例中为没有setter方法的publicstringgetseasonname ({ returnseasonname; }公共字符串获取seasondesc () { return seasonDesc; (/4 .其他方法2 )2: toString )方法@Override public String toString ) ) return ' season (' season name=' ' season name ' ) ' ' }使用枚举类进行测试

公共类应用程序{ publicstaticvoidmain (string [ ] args )//自定义枚举型Season spring=Season.SPRING; system.out.println(spring; //缺省情况下,调用toString方法system.out.println (spring.getseasonname ); //常规调用方法system.out.println (======================() ) ) seasonDesc='春暖花开' }春=============================3=enum 3 .如果有多个对象,则对象之间用英语逗号分隔,最后一个对象后面以英语分号结尾4 .声明枚举对象时的格式为【枚举对象名1,枚举名称2】。 】或【枚举对象名称1 (构建方法参数。 枚举名称2 (生成方法参数)。 】5 .属性仍然用私有金融修饰; 6 .结构方法仍用private修饰; 7 .你可以写其他方法。 以下是由枚举关键字定义的枚举类,如重写getter和toString () :

public enum Week { //枚举对象MONDAY (“星期一、”前一天的语文课)、TUESDAY (“星期二、”前一天的数学课)、WEDNESDAY (“星期三、”前一天的英语课) )、和thuuu //属性private final String weekName声明的private final String weekDesc; //制作方法Week

(String weekName, String weekDesc) { this.weekName = weekName; this.weekDesc = weekDesc; } // 其他方法:getter方法,toString()方法等 public String getWeekName() { return weekName; } public String getWeekDesc() { return weekDesc; } @Override public String toString() { return "Week{" + "weekName='" + weekName + ''' + ", weekDesc='" + weekDesc + ''' + '}'; }}

测试使用枚举类

public class Application { public static void main(String[] args) { // 正常使用枚举类 System.out.println(Week.SUNDAY); System.out.println(Week.SUNDAY.getWeekName()); System.out.println(Week.SUNDAY.getWeekDesc()); System.out.println("========================="); }} 执行结果如下:Week{weekName='星期日', weekDesc='上一天的自习课'}星期日上一天的自习课========================= 4.一个简化版的枚举类 枚举类中可以没有任何的属性,直接声明各个枚举对象。具体形式如下: /*** 直接放上枚举对象的枚举类,* 十分的简洁明了。*/public enum WeekSimple { MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUM;} 5.enum枚举类的父类Enum类的常用方法 1.使用enum定义的枚举类的直接父类是 : java.lang.Enum;2.直接继承的父类的常用方法如下: values():返回枚举类中的枚举对象的数组,可以方便进行遍历; valueOf(String objName):返回枚举类中 与参数objName 名称一致的枚举对象, 【注意:参数必须是枚举对象中的其中一个,否则程序会抛出异常】; toString() : 直接返回枚举对象的名称; ordinal():返回枚举对象在声明时的顺序,且顺序从0开始。 name():直接返回枚举对象的名称,推荐使用toString()!

方法测试:以第四小结中的简单的枚举类为例

public class Application { public static void main(String[] args) { // 枚举类的常用方法 WeekSimple[] values = WeekSimple.values(); System.out.println(Arrays.toString(values)); WeekSimple aa = WeekSimple.valueOf("MONDAY"); System.out.println(aa); System.out.println(WeekSimple.MONDAY.toString()); System.out.println(WeekSimple.MONDAY.ordinal()); System.out.println(WeekSimple.THURSDAY.name()); }} 执行结果[MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUM]MONDAYMONDAY0THURSDAY 6.实现接口的枚举类 枚举类也是可以实现接口的,实现方式有两种,分别如下: 6.1 方式一:全局实现 全局实现:就是在枚举类中直接实现,此时所有的枚举对象都拥有相同的方法实现 public enum SeasonWithInterface implements AA { Spring,SUMMER,AUTUMN,WINTER; /** * 全局实现接口的方法 */ @Override public void sayHello() { System.out.println("Hello EveryOne!"); }}// 定义一个接口interface AA{ void sayHello();} 6.2 方式二:对象实现 对象实现:就是在声明对象的时候实现,此时每个对象都单独对接口中的方法进行实现 public enum SeasonWithInterface implements AA { SPRING(){ @Override public void sayHello() { System.out.println("Hello Spring"); } }, SUMMER(){ @Override public void sayHello() { System.out.println("Hello SUMMER"); } }, AUTUMN(){ @Override public void sayHello() { System.out.println("Hello AUTUMN"); } }, WINTER(){ @Override public void sayHello() { System.out.println("Hello WINTER"); } }; }// 定义一个接口interface AA{ void sayHello();} 7.完成

Congratulations!
You are one step closer to sucess!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。