接口是一种约定规范,是多个抽象方法的集合。仅仅只是定义了应该有哪些功能,本身不实现功能, 至于每个功能具体怎么实现,就交给实现类完成。
public interface 接口名{ • 抽象方法 1(); • 抽象方法 2(); • 抽象方法 2(); • 。。。 • }
public class 类名 implements 接口名 1,接口名 2{ • 覆盖接口中抽象方法 • }
将子类对象装到父类的变量中保存(向上造型/向上转型),当父类变量调用方法的时候,如果子类重写了该方法,会直接执行子类重写之后的 方法。(父类变量可以装任意类型的子类对象)。 1. 向上造型/向上转型: 语法:
父类类型 父类变量 = new 子类类型(); • 父类变量.方法();//子类若重写,则会执行子类重写后的方法 • 2. 向下造型/向下转型: =>就是为了调用子类特有方法
if(父类变量 instanceof 子类类型1){ //强制类型转换 子类类型1 子类变量 = (子类类型1)父类变量; //现在就可以调用子类特有方法 子类变量.子类特有方法(...);}
static概念: 关键字、修饰符,表示静态的
访问方式: 类名.类中成员(变量、方法)
可以修饰普通方法
可以修饰字段[ 成员变量 ]
可以修饰内部类[暂时不了解]
不可以修饰外部类
不可以修饰局部变量;
不可以修饰构造方法
final概念 关键字,修饰符,表示最终的。就是一旦修饰一个成员,该成员就不能再被修改了。
枚举是JDK1.5引入的一种和类非常类似的新结构;
枚举类解决了一些取值比较固定的场景,简化了类中的常量字段。
*使用场景*:vip、生肖、段位、QQ状态、血型、性别、星座、月份、礼拜...
语法
public enum 枚举类名字{ • 字段 • 实例变量 • 实例方法 • 类方法 • 构造方法 - 枚举中的构造方法默认都是private修饰,不能够是public,protected修饰 }
构造方法作用:只能在当前枚举类中使用,就是给当前枚举类对象初始化实例变量的