河南汉狮做网站的公司,app开发费用价目表,中文网站建设入门,开发公司采取措施成立新班推动工作下面代码中#xff0c;Person24 是一个抽象类#xff0c;这意味着它不能被直接实例化#xff0c;只能通过继承它的子类来实现其抽象方法。代码片段中展示了如何使用匿名内部类来实现一个抽象类的实例。
package chapter04;public class Java24_Object_匿名内部类 {public s…下面代码中Person24 是一个抽象类这意味着它不能被直接实例化只能通过继承它的子类来实现其抽象方法。代码片段中展示了如何使用匿名内部类来实现一个抽象类的实例。
package chapter04;public class Java24_Object_匿名内部类 {public static void main(String[] args) {// TODO 面向对象// 在某些场合下类的名字不重要我们只想要使用类中的方法或功能那么此时我们可以采用特殊的语法匿名类// 所谓匿名类就是没有名字的类, 创建只使用一次的类的对象Me me new Me();me.sayHello(new Person24() {Overridepublic String name() {return zhangsan;}});// 上面匿名类的写法等价于下面的代码// 创建一个名为 Zhangsan 的类继承自 Person24class Zhangsan extends Person24 {Overridepublic String name() {return zhangsan;}}// 创建 Zhangsan 类的实例并传递给 sayHello 方法Person24 person new Zhangsan();me.sayHello(person);}
}abstract class Person24 {public abstract String name();
}class Me {public void sayHello(Person24 person24) {System.out.println(Hello, person24.name());}
}下面代码片段中展示了如何使用匿名内部类来实现一个接口的实例。
package chapter04;public class Java24_Object_匿名内部类 {public static void main(String[] args) {// 使用匿名内部类来实现接口 Fly24new Fly24() {Overridepublic void fly() {System.out.println(使用飞行器飞翔);}}.fly();// 上面匿名类的写法等价于下面的代码// 创建一个名为 PersonFly24 的类实现接口 Fly24class PersonFly24 implements Fly24 {Overridepublic void fly() {System.out.println(使用飞行器飞翔);}}// 创建 PersonFly24 类的实例并调用 fly 方法PersonFly24 personFly24 new PersonFly24();personFly24.fly();}
}// 接口中定义的属性都是常量不能更改
// 接口中定义的方法都是抽象的
interface Fly24 {void fly();
}