关于DisplayObject的 stage 属性

[size=large][color=darkred]DisplayObject [/color]在没有被添加到 [color=blue]display list [/color]之前, 他的 [color=green]stage[/color] 属性是 [color=red]null[/color][/size]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是你所需的Java代码: ``` public class TestPerson { public static void main(String[] args) { Person person = new Person("John"); Student student = new Student("Jack", "CS"); Employee employee = new Employee("Tom", "Google"); m1(person); m2(student); m3(employee); Person studentAsPerson = new Student("Alice", "Math"); Person employeeAsPerson = new Employee("Bob", "Facebook"); m1(studentAsPerson); m2(employeeAsPerson); m3(studentAsPerson); m3(employeeAsPerson); } public static void m1(Person p) { System.out.println(p.getName()); } public static void m2(Person p) { System.out.println(p.toString()); } public static void m3(Person p) { if (p instanceof Student) { ((Student) p).displayObject(); } else if (p instanceof Employee) { ((Employee) p).displayObject(); } } } class Person { private String name; public Person(String name) { this.name = name; } public String getName() { return name; } public String toString() { return "Person " + name; } } class Student extends Person { private String major; public Student(String name, String major) { super(name); this.major = major; } public void displayObject() { System.out.println("Student " + getName() + ", Major: " + major); } public String toString() { return "Student " + getName() + ", Major: " + major; } } class Employee extends Person { private String company; public Employee(String name, String company) { super(name); this.company = company; } public void displayObject() { System.out.println("Employee " + getName() + ", Company: " + company); } public String toString() { return "Employee " + getName() + ", Company: " + company; } } ``` 在这个代码中,我们创建了一个`TestPerson`类,其中包含了4个方法和3个类。我们在`main`方法中创建了`Person`、`Student`和`Employee`的实例,并将它们均声明为`Person`类对象,然后分别传入了`m1`、`m2`和`m3`方法,体会了多态。 `m1`方法接受一个`Person`对象,并显示它的姓名。`m2`方法接受一个`Person`对象,并打印它的`toString`方法返回的字符串。`m3`方法接受一个`Person`对象,并如果它是`Student`类或者`Employee`类的实例,分别调用它们的`displayObject`方法。 `Person`、`Student`和`Employee`都是类,其中`Student`和`Employee`都继承自`Person`,并且它们都有`displayObject`和`toString`方法。`displayObject`方法在子类中被重写,以便我们可以使用多态来调用它们。`toString`方法也在子类中被重写,以便我们可以使用多态来打印它们的字符串表示形式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值