Java是一种面向对象的编程语言,它的一大特点就是多态。多态指的是相同的方法可以在不同的对象上有不同的行为。在Java中,多态可以通过继承和接口实现。继承实现了父类和子类之间的多态性,而接口实现了类和实现类之间的多态性。多态让我们写出符合逻辑的、易于维护的代码。
public class Animal { public void eat() { System.out.println("动物吃饭"); } } public class Cat extends Animal { public void eat() { System.out.println("猫吃饭"); } } public class Dog extends Animal { public void eat() { System.out.println("狗吃饭"); } } public static void main(String[] args) { Animal animal1 = new Cat(); Animal animal2 = new Dog(); animal1.eat(); //输出:猫吃饭 animal2.eat(); //输出:狗吃饭 }
除了多态,注入也是Java中的一个重要概念。注入指的是在运行时向已有的对象中添加新的功能或者修改现有的功能。注入让Java实现了灵活的配置,让应用程序可以根据不同的环境、不同的需求进行动态的调整。Java注入主要有两种方式:属性注入和构造函数注入。构造函数注入比属性注入更为常用,它通过在类的构造函数中注入依赖,使代码更加简洁、易于维护。
public class UserService { private UserDao userDao; public UserService(UserDao userDao) { this.userDao = userDao; } public void addUser(User user) { userDao.save(user); } }
以上代码中的UserService类依赖于UserDao类,通过构造函数将UserDao注入进来,当需要使用UserDao的时候直接调用它的方法即可。这种注入方式避免了硬编码,让代码更加灵活。