在Java中,抽象类是一种特殊的类,它不能被实例化,只能被继承。抽象类通常用于定义一组子类的共同行为和属性。以下是一些使用抽象类实现时的技巧:
public abstract class Animal {
public abstract void makeSound();
}
public abstract class Animal {
public void breathe() {
System.out.println("Breathing...");
}
}
public abstract class Animal {
protected String name;
public Animal(String name) {
this.name = name;
}
}
public abstract class Animal {
public static void describe() {
System.out.println("This is an animal.");
}
}
public abstract class Animal {
public final void eat() {
System.out.println("Eating...");
}
}
public abstract class AbstractClass {
// 模板方法
public final void templateMethod() {
primitiveOperation1();
concreteOperation();
primitiveOperation2();
}
// 抽象方法
protected abstract void primitiveOperation1();
protected abstract void primitiveOperation2();
// 具体方法
protected void concreteOperation() {
System.out.println("Concrete operation");
}
}
public abstract class AnimalFactory {
public abstract Animal createAnimal();
}
public class DogFactory extends AnimalFactory {
@Override
public Animal createAnimal() {
return new Dog();
}
}
public interface Strategy {
void execute();
}
public abstract class AbstractStrategy implements Strategy {
protected String name;
public AbstractStrategy(String name) {
this.name = name;
}
}
public class ConcreteStrategyA extends AbstractStrategy {
public ConcreteStrategyA() {
super("Strategy A");
}
@Override
public void execute() {
System.out.println("Executing strategy A");
}
}
通过这些技巧,可以更好地利用抽象类来实现代码的复用和扩展性。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。