Java中的抽象类有一些特定的限制和规则,主要包括以下几点:
不能实例化:
new AbstractClass(); 是非法的。必须包含抽象方法:
可以包含非抽象方法:
构造方法:
继承:
访问修饰符:
public、protected、private 和默认访问级别)。静态成员:
final方法:
final 的,这意味着这些方法不能被子类重写。抽象类的设计目的:
以下是一个简单的抽象类示例:
abstract class Animal {
protected String name;
public Animal(String name) {
this.name = name;
}
// 抽象方法
public abstract void makeSound();
// 非抽象方法
public void eat() {
System.out.println(name + " is eating.");
}
}
class Dog extends Animal {
public Dog(String name) {
super(name);
}
@Override
public void makeSound() {
System.out.println(name + " says: Woof!");
}
}
public class Main {
public static void main(String[] args) {
Dog dog = new Dog("Buddy");
dog.makeSound(); // 输出: Buddy says: Woof!
dog.eat(); // 输出: Buddy is eating.
}
}
在这个示例中,Animal 是一个抽象类,包含一个抽象方法 makeSound() 和一个非抽象方法 eat()。Dog 类继承了 Animal 类,并实现了 makeSound() 方法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。