溫馨提示×

java中的abstract怎么使用

小億
99
2023-08-30 01:08:01
欄目: 編程語言

在Java中,abstract是一個關鍵字,用于修飾類、方法和接口。

  1. 修飾類:
  • 抽象類是不能被實例化的,只能被繼承。

  • 抽象類可以有構造方法,但是不能通過new關鍵字直接實例化,只能通過子類繼承并實例化。

  • 抽象類可以包含抽象方法和非抽象方法。

  • 子類繼承抽象類時,必須實現所有抽象方法,否則子類也必須聲明為抽象類。

示例:

public abstract class Animal {
public abstract void makeSound();
public void sleep() {
System.out.println("Animal is sleeping");
}
}
public class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Dog is barking");
}
}
public class Main {
public static void main(String[] args) {
Animal dog = new Dog();
dog.makeSound(); // 輸出 "Dog is barking"
dog.sleep(); // 輸出 "Animal is sleeping"
}
}
  1. 修飾方法:
  • 抽象方法沒有方法體,只有方法簽名。

  • 抽象方法必須定義在抽象類中。

  • 子類繼承抽象類時,必須實現所有抽象方法。

示例:

public abstract class Animal {
public abstract void makeSound();
public void sleep() {
System.out.println("Animal is sleeping");
}
}
public class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Dog is barking");
}
}
public class Main {
public static void main(String[] args) {
Animal dog = new Dog();
dog.makeSound(); // 輸出 "Dog is barking"
}
}
  1. 修飾接口:
  • 接口中的方法默認是抽象方法,不需要使用abstract關鍵字修飾。

  • 實現接口時,必須實現所有接口中的方法。

示例:

public interface Animal {
void makeSound();
}
public class Dog implements Animal {
@Override
public void makeSound() {
System.out.println("Dog is barking");
}
}
public class Main {
public static void main(String[] args) {
Animal dog = new Dog();
dog.makeSound(); // 輸出 "Dog is barking"
}
}

總結:

abstract關鍵字用于定義抽象類、抽象方法和接口,通過使用abstract關鍵字,可以使類、方法和接口具有抽象的特性,需要在子類中進行實現。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女