Maison Java javaDidacticiel 抽象类和接口的总结

抽象类和接口的总结

Dec 10, 2016 am 09:43 AM

 类的表现形式 

Java代码  

public class A{}  


类的特点: 
  1)类中的属性可以是成员属性,也可以是类属性 
   2)类中的方法必须是有方法体的方法,也可以是成员方法,也可以是类方法 
   3)每个类必须至少有一个构造方法,默认的是一个无参的构造方法,可以调用构造方法创造对对象 
      一个类只能继承一个父类,单根继承 

Java代码  

public class A{}  

public class B extends A{}  

  
抽象类 
   表现形式: 

Java代码  

public abstract class A{}  


抽象类的特点: 
  1)抽象类中的属性和类一样,可以是成员属性,也可以是类属性 
   2)抽象类中的方法可以是抽象方法,也可以是具体的成员方法 
   3)抽象类中的方法需要定义访问限定符 
   4)抽象类有构造方法,默认的是一个无参的构造方法,但不能用来创建对象(就是不能new 一个对象) 
   5)抽象类是用来充当父类,给子类去继承和扩展的 
  
    一个类只能继承一个抽象类 
  
接口(interface) 
表现形式: 

Java代码  

public interface A{}  


接口的特点: 
  1)接口中的属性必须是公共的常量(必须赋初始值) 
  2)接口中的属性默认是public static final,必须是public static final 
  3)接口中的方法必须全部只能是抽象方法 
  4)接口中的方法默认是public abstract ,必须是public abstract 
  5)接口中的方法的访问限定符默认public,必须是public 
  6)接口没有构造方法,不能创造对象(就是不能new 一个对象) 
  7)接口用来充当父类,给子类去扩展的 

还有接口的实现: 
   

Java代码  

public class A implements B{}  


    一个类可以实现多个接口 

Java代码  

public interface c{}  

  public interface d{}  

  public class E implements c,d{}  

  
注意:类实现接口,就必须要实现[重写]接口中的所有的抽象的方法 
       重写继承来的方法/实现接口中的方法的时候,不能减小方法的可见范围      
      
     一个类可以先继承一个类,再实现多个接口 

Java代码  

public class F extends A implements c,d{}  


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment fonctionne le mécanisme de chargement de classe de Java, y compris différents chargeurs de classe et leurs modèles de délégation? Comment fonctionne le mécanisme de chargement de classe de Java, y compris différents chargeurs de classe et leurs modèles de délégation? Mar 17, 2025 pm 05:35 PM

Le chargement de classe de Java implique le chargement, la liaison et l'initialisation des classes à l'aide d'un système hiérarchique avec Bootstrap, Extension et Application Classloaders. Le modèle de délégation parent garantit que les classes de base sont chargées en premier, affectant la classe de classe personnalisée LOA

Comment implémenter la mise en cache à plusieurs niveaux dans les applications Java à l'aide de bibliothèques comme la caféine ou le cache de goyave? Comment implémenter la mise en cache à plusieurs niveaux dans les applications Java à l'aide de bibliothèques comme la caféine ou le cache de goyave? Mar 17, 2025 pm 05:44 PM

L'article examine la mise en œuvre de la mise en cache à plusieurs niveaux en Java à l'aide de la caféine et du cache de goyave pour améliorer les performances de l'application. Il couvre les avantages de configuration, d'intégration et de performance, ainsi que la gestion de la politique de configuration et d'expulsion le meilleur PRA

Comment puis-je utiliser JPA (Java Persistance API) pour la cartographie relationnelle des objets avec des fonctionnalités avancées comme la mise en cache et le chargement paresseux? Comment puis-je utiliser JPA (Java Persistance API) pour la cartographie relationnelle des objets avec des fonctionnalités avancées comme la mise en cache et le chargement paresseux? Mar 17, 2025 pm 05:43 PM

L'article discute de l'utilisation de JPA pour la cartographie relationnelle des objets avec des fonctionnalités avancées comme la mise en cache et le chargement paresseux. Il couvre la configuration, la cartographie des entités et les meilleures pratiques pour optimiser les performances tout en mettant en évidence les pièges potentiels. [159 caractères]

Comment utiliser Maven ou Gradle pour la gestion avancée de projet Java, la création d'automatisation et la résolution de dépendance? Comment utiliser Maven ou Gradle pour la gestion avancée de projet Java, la création d'automatisation et la résolution de dépendance? Mar 17, 2025 pm 05:46 PM

L'article discute de l'utilisation de Maven et Gradle pour la gestion de projet Java, la construction de l'automatisation et la résolution de dépendance, en comparant leurs approches et leurs stratégies d'optimisation.

Mar 17, 2025 pm 05:45 PM

L'article discute de la création et de l'utilisation de bibliothèques Java personnalisées (fichiers JAR) avec un versioning approprié et une gestion des dépendances, à l'aide d'outils comme Maven et Gradle.

See all articles