匿名类是一种动态扩展现有类的方法。 例如,考虑拥有一个类机器: class Machine { public void start() { System.out.println("Starting..."); }} 创建Machine对象时,我们可以动态更改start方法。 public s...
对于类,有两种类型转换。 向上转型 可以将子类的实例强制转换为其超类。 考虑下面的例子,假设猫是动物的一个子类。 Animal a = new Cat(); Java自动将Cat类型变量升级为动物类型。 向下...
将一种类型的值赋给另一种类型的变量称为类型转换。 若要将值强制转换为特定类型,请将该类型放在括号中,并将其放在值前面。 例子: int a = (int) 3.14;System.out.println(a);// 输出 3 上...
使用implements关键字与类一起使用接口。 interface Animal { public void eat(); public void makeSound();} class Cat implements Animal { public void makeSound() { System.out.println("喵喵"); } public void eat() { System.out.prin...
接口是一个完全抽象的类,只包含抽象方法。 一些接口规范: -使用interface关键字定义。-只能包含静态最终变量。-无法包含构造函数,因为无法实例化接口。-接口可以扩展其他接口。...
例如,我们可以将动物类定义为抽象类: abstract class Animal { int legs = 0; abstract void makeSound();} makeSound方法也是抽象的,因为它在超类中没有实现。 我们可以从Animal类继承并为子类定义m...
在表示基本特性而不包括实现细节的过程中,数据抽象只向外部世界提供基本信息。 一本书就是一个很好的现实世界的例子。当你听到术语书,你不知道确切的细节,如页数,颜色,或...
如果方法具有相同的名称,但参数不同,则称为方法重载。 当您需要对不同类型的参数使用相同的方法功能时,这非常有用。 下面的示例演示了返回其两个参数的最大值的方法。 int...
正如我们在上一课中看到的,子类可以定义特定于子类类型的行为,这意味着子类可以根据其需求实现父类方法。 此功能称为方法重写。 例子: class Animal { public void makeSound() { System....
多态性指的是“有多种形式”的概念,它发生在通过继承相互关联的类的层次结构中。 对成员方法的调用将导致执行不同的实现,具体取决于调用该方法的对象的类型。 下面是一个例...