java在类的定义中创建自己的对象 为什么可以这样写?这样写有什么好处吗?
PloyParameter ployParameter = new PloyParameter();
```java
package com.hspedu.poly_.polyparameter_;
public class PloyParameter {
public static void main(String[] args) {
Worker tom = new Worker("tom", 2500);
韩顺平循序渐进学 Java 零基础
第 343页
Manager milan = new Manager("milan", 5000, 200000);
PloyParameter ployParameter = new PloyParameter();
ployParameter.showEmpAnnual(tom);
ployParameter.showEmpAnnual(milan);
ployParameter.testWork(tom);
ployParameter.testWork(milan);
}
//showEmpAnnual(Employee e)
//实现获取任何员工对象的年工资,并在 main 方法中调用该方法 [e.getAnnual()]
public void showEmpAnnual(Employee e) {
System.out.println(e.getAnnual());//动态绑定机制. }
//添加一个方法,testWork,如果是普通员工,则调用 work 方法,如果是经理,则调用 manage 方法
public void testWork(Employee e) {
if(e instanceof Worker) {
((Worker) e).work();//有向下转型操作
} else if(e instanceof Manager) {
((Manager) e).manage();//有向下转型操作
} else {
System.out.println("不做处理...");
}
}
}
```
主要目的是减少代码重复,避免增加冗余代码啊,java特性之一,封装,老师应该有讲过吧
类的定义往往会创建自己的对象以完成一些特定的任务。这是因为类的定义可以将特定的功能封装在一个类中,并且类的实例可以多次使用,而不是每次都重新定义相同的代码。这样可以减少代码重复,提高代码的可重复利用性,并且可以更加有效地使用代码。
举个栗子就是:在Java中,你可以定义一个类来表示一个学生,其中可以保存学生的姓名,年龄,学号等信息,并且可以使用它来实现学生的计分,课程等功能。你可以创建不同的学生实例,从而实现不同的功能,而不需要再次定义相同的代码。
我这个解释你可以理解不,这和上面那个机器人回答还有有点区别的
该回答引用ChatGPT
在Java类的定义中创建自己的对象是一种很常见的做法,它可以让类的使用者更方便地创建和使用该类的对象。
当您在Java类的定义中创建自己的对象时,您可以访问该类的所有公共方法和属性,并在类的定义中直接使用这些方法和属性。这种做法可以让您更方便地测试和验证您的代码,并在需要时更快地修改和优化您的代码。
另外,当您在Java类的定义中创建自己的对象时,您可以更好地利用面向对象编程的特性,如多态和动态绑定。例如,在您提供的代码中,您可以通过将不同的Employee对象传递给showEmpAnnual和testWork方法来演示多态和动态绑定的特性。
总的来说,这种做法可以使您的代码更加模块化和可重用,使您的类更容易使用和测试,并且更符合面向对象编程的设计原则。
该回答引用ChatGPT
这样写的好处在于,可以通过调用类中定义的方法来对创建的对象进行操作,实现对该类的功能的实现。例如,在上述代码中,我们可以通过创建PloyParameter对象并调用该类中定义的showEmpAnnual和testWork方法来对Employee类型的对象进行操作,实现对员工对象的年工资计算和工作方法的调用。
此外,这种写法还可以方便代码的重用,例如在其他类中需要使用到该类的功能时,只需要创建该类的对象并调用相应的方法即可。同时,这也体现了Java中的多态特性,即通过基类的引用来操作派生类的对象,实现了代码的灵活性和可扩展性。