Java中的枚举、接口和代码块
来源:互联网 发布:教育统计软件安装 编辑:程序博客网 时间:2024/05/17 07:00
1 枚举
枚举可以看成和类非常相似的结构,其字段由一组不变的常量构成。
声明语法
enum 枚举类名{ 字段 方法 构造方法}
枚举中的构造方法默认是private修饰,不能使用public。
示例
public enum Sex { MAN,WOMAN;}
public class Test { public static void main(String[] args) { // 直接将枚举中的值给变量 Sex s = Sex.MAN; System.out.println(s); // MAN }}
打印对象为中文
1.在每一个枚举对象中设置一个String类型的字段保存中文描述;
2.在创建每一个枚举对象的时候给中文描述字段赋值;
3.覆写toStirng,返回当前枚举对象的中文描述。
public enum Sex { // 将中文以String型式表示 MAN("汉子"), WOMAN("妹子"); private String name; // 构造方法 private Sex(String name) { this.name = name; } public String toString() { return this.name; }}
2 接口
2.1 接口与类
接口
软件与软件之间的数据交互接口,Java中的接口看成是一个和类非常相似的结构,接口是定义类的标准(规范)。
声明语法
interface 接口名{ 字段 方法}
字段:全部都是public static final修饰的全局常量,可以直接调用。
方法:全部都是抽象方法(缺省修饰public abstract)没有方法体,需要子类覆写才有意义,static final修饰的方法都不能够被覆写。
一般接口写在一个独立的Java文件中,编译完毕之后也会生成独立的字节码文件。
接口的实现(implements)
定义一个类来实现(implements)接口:
public interface A {}
public class B implements A {}
特点:
1.必须全部覆写接口中的抽象方法,否则B类也抽象类;
2.A接口类型相当于是B类型的父类,具有多态的特征;
public interface A { void eat();}
public class B implements A { @Override public void eat() {}}
public class Test { public static void main(String[] args) { A a1 = new B(); a1.eat(); }}
3.一个类可以实现多个接口,需要覆写所有接口中的抽象方法;
4.一个类可以在继承一个类的同时实现多个接口,但是继承的代码必须写实现前面。
2.2 接口与接口
一个接口可以继承多个接口。
public interface A {}
public interface C {}
public interface B extends A, C {}
public class Test implements B { // 此处需要覆写ABC中的所有的抽象方法}
3 代码块
代码块:可以看成是一块代码,一般都是有{}。
1.普通代码块(局部代码块):写在方法中,一般结合if、for等结构。
2.构造代码块(极少使用):直接写在类中的代码块(没有static修饰),编译完毕之后会在每一个构造方法中复制一份。
3.静态代码块(偶尔使用):直接写在类中,用static修饰,在类加载的时候执行,优先于主方法执行,可以在类加载的时候做初始化的操作。
public class Test { public static void main(String[] args) { System.out.println("我后执行");// 再执行主方法 } static { System.out.println("我先执行");// 先执行静态代码块 }}
- Java中的枚举、接口和代码块
- java中的静态代码块、构造代码块、普通代码块和同步代码块总结
- java中的静态代码块、构造代码块、普通代码块和同步代码块总结
- java中的普通代码块、静态代码块、构造代码块和同步代码块
- Java中的引用传递和代码块
- 区分Java中的普通代码块、构造代码块和静态代码块
- 关于Java类中的代码块 普通代码块和初始化代码块
- Java中的代码块
- JAVA中的代码块
- Java中的代码块
- Java中的代码块
- java中的代码块
- Java中的代码块
- Java中的代码块
- Java中的代码块
- JAVA中的代码块
- Java中的代码块
- Java中的代码块
- java调用浏览器执行搜索
- python中的实例方法、类方法、静态方法
- sqlserver调优
- 二叉排序树、平衡二叉树、B-树
- socket编程为什么要选择AF_INET
- Java中的枚举、接口和代码块
- 【个人训练】(HDU2199)Can you solve this equation?
- 阿里巴巴CTO行癫:阿里双11是世界互联网技术的超级工程
- 内存学习之:大端模式、小端模式 详解
- 关于PGSQL的时间格式问题的报错总结
- FindBugs规则整理
- Android ADB命令大全(通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等)
- 高德地图发布版SHA1获取
- oracle id 自增长