`
幼儿园扛把子
  • 浏览: 1371 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

类,抽象类,接口三者的区别

阅读更多
  类的表现形式
Java中类的定义:
public class A{} 

类的特点:
  1)类中的属性可以是成员属性,也可以是类属性
   2)类中的方法必须是有方法体的方法(类中的方法必须全部是具体的方法[有方法体的方法]),可以是成员方法,也可以是类方法
   3)每个类必须至少有一个构造方法,默认的是一个无参的构造方法,可以调用构造方法创造对对象
      一个类只能继承一个父类,单根继承
Java代码 
public class A{} 
public class B extends A{} 
 
抽象类
   表现形式:
Java中抽象类的定义: 
public abstract class A{} 

public abstract class A1{
private String name;
public void aa(){
}
public abstract void bb();

}

抽象类的特点:
   1)抽象类中的属性和类一样,可以是成员属性,也可以是类属性
   2)抽象类中的方法可以是抽象方法,也可以是具体的成员方法
   3)抽象类中的方法需要定义访问限定符
   4)抽象类有构造方法,默认的是一个无参的构造方法,但不能用来创建对象(就是不能new 一个对象)
   5)抽象类是用来充当父类,给子类去继承和扩展的
 
抽象类的继承:
    一个类只能继承一个抽象类
        public class B extends A{}
 
接口(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{} 

PS:
1.不管是继承类,还是抽象类,还是接口
如果要重写父类的方法,都不能够减小方法的访问限定范围
public   protected      默认不写       private

2.常量的定义
public static final 数据类型  变量名 = 值;


3.如果是抽象类继承抽象类,可以不用重写继承到的方法

4.抽象类实现接口,可以不用重写接口中的方法

5.接口可以继承接口,不能重写继承到的方法

6.类与类的继承,类与抽象类的继承都是单根继承
public class A{}
public class B extends A{}

7.Java中最顶层的父类是 Object类,所有的类,包括数组都是默认是Object的子类

8.一个接口可以继承多个接口
public interface C{}
public interface D{}
public interface E extends C,D{}


9.一个类[抽象类]可以实现多个接口
public class F implements C,D{}


10.一个类[抽象类]可以先继承一个类,再实现多个接口
public class G extends A implements C,D{}

G a1 = new G();
A a2 = new G();
C a3 = new G();
D a4 = new G();



11.子类继承父类,在子类的构造方法中,默认会调用父类的无参数的构造方法
如果父类重载了构造方法,无参构造方法已经失效
分享到:
评论

相关推荐

    java实验四 对象和类(抽象类、接口与包).doc

    通过本实验,学习者将熟练掌握抽象类、接口、包的概念,并了解如何使用继承、多态、抽象类、接口、内部类等技术来设计和实现面向对象的程序。 一、抽象类 抽象类是 Java 中的一种特殊类,它不能被实例化,必须被...

    浅析高职教学之Java抽象类与接口.pdf

    浅析高职教学之Java抽象类与接口 本文对Java抽象类和接口的区别与联系进行了详细的分析,并着重讨论了...第三,从语法定义的角度看,二者的区别在于抽象类可以包含变量和方法的实现,而接口只能包含常量和方法的定义。

    JAVA设计模式(抽象类与适配器模式)

    今天我们要探讨的是JAVA设计中的两个重要模式:抽象类与适配器模式。 首先,我们来理解一下“抽象”。抽象是面向对象编程的核心概念之一,它帮助我们处理对象的复杂性。在Java中,抽象通常通过抽象类来实现。抽象类...

    C#抽象类和接口的区别分析

    很多C#的初学者在编程时都容易把抽象类和接口搞混,本文就为大家从概念上讲解抽象类和接口的区别: 一、抽象类: 含有abstract修饰符的class即为抽象类,抽象类是特殊的类,只是不能被实例化,可以创建一个变量,其...

    继承,虚函数,抽象类

    而抽象类则作为接口,规定了子类必须实现的成员,进一步强化了继承的结构。 在学习和应用这些概念时,有几个关键点需要注意: 1. 继承可能导致"菱形问题",即多重继承时可能出现的二义性。C++通过虚继承解决了这个...

    工厂模式、接口、抽象类的例子

    本示例中的“工厂模式、接口、抽象类”是面向对象设计中的关键概念,让我们逐一深入探讨。 首先,**工厂模式**是一种创建型设计模式,它提供了一种创建对象的最佳方式,将对象的创建过程封装起来,使得代码更加灵活...

    Visual C# 2005开发技术PDF,抽象类、多态及接口,处理异常和错误,XML编程,非常好的教程.

    在这个PDF教程中,读者将深入理解C# 2005的核心概念,包括抽象类、多态、接口、异常处理和XML编程。 首先,让我们来探讨抽象类。在面向对象编程中,抽象类是一种不能被实例化的特殊类,它为其他类提供了一个共享的...

    DLL导出类的三种方法,导出接口类,导出类指针,导出类,不建议使用导出类

    本篇将详细讲解DLL导出类的三种常见方法:导出接口类、导出类指针以及导出类,并说明为什么通常不建议直接导出类。 1. 导出接口类 接口类(Interface Class)是一种只包含纯虚函数的抽象基类,不包含任何数据成员...

    c#接口的意义 学习心得 读书笔记 (彻底弄清楚接口,轻松使用接口)

    六、接口与抽象类的区别 接口和抽象类都是抽象的类型,但它们有以下区别: 1. 实现部分:抽象类可以包含实现部分,而接口不可以。 2. 字段:抽象类可以包含字段,而接口不可以。 3. 继承:抽象类可以继承自其他类...

    三层架构 + 抽象工厂类实例

    抽象工厂模式是一种创建型设计模式,它提供一个创建对象的接口,但允许子类决定实例化哪一个类。这使得程序可以在不指定具体类的情况下引用对象。在三层架构中,抽象工厂可以用于在不同层之间创建相关对象,例如在...

    C#继承,接口,多态的实现与区别

    后者则依赖于方法重写(Overriding)和抽象类及接口,使得子类可以根据需要提供不同的实现。 1. **方法重载**:在同一个类中,可以有多个方法名相同但参数列表不同的方法,编译器根据传入的参数类型和数量选择合适...

    工厂接口虚函数抽象函数单例DEMO

    在DEMO中,可能有一个抽象类(如`AbstractProduct`)定义了一些核心行为,而具体的业务实体类(如`ConcreteProduct`)继承并实现这些行为。 4. **单例模式**:单例模式确保一个类只有一个实例,并提供全局访问点。...

    清华大学JAVA教程--类、抽象和封装(教师课件)

    **在清华大学的这个课件中,你可能会学到如何设计有效的类结构,理解抽象类和接口的使用场景,以及如何利用封装原则来增强代码的健壮性和可维护性。PPT文件“清华java教程_第4章.ppt”很可能是详细讲解这些概念的...

    北大青鸟ACCP5.0 S2 三层+实体+接口+简单工厂+抽象工厂+公共数据库访问层实例代码

    北大青鸟ACCP5.0 S2的课程中,深入探讨了“三层架构”以及面向对象的设计模式,包括实体类、接口、简单工厂和抽象工厂模式,同时引入了公共数据库访问层的概念。下面将详细解析这些知识点。 **三层架构**: 三层...

    求方形、圆形、三角形面积周长的C#程序

    在C#编程中,我们可以...通过这个程序,学习者可以深入理解C#中的面向对象编程概念,如何利用接口或抽象类实现多态性,以及如何处理基本的几何计算。同时,这也是一个很好的练习,有助于提升编程技巧和问题解决能力。

    接口对接类与相关xml

    - 接口在服务提供者接口(SPI,Service Provider Interface)中起着关键作用,允许第三方扩展应用程序。 2. **对接类(Implementation Classes)**: - 对接类是实现了特定接口的类,它们提供了接口中定义的方法...

    C#接口学习总结

    在C#中,声明接口与声明抽象类的语法非常相似。以下是一个简单的`IBankAccount`接口的例子: ```csharp public interface IBankAccount { void PayIn(decimal amount); bool Withdraw(decimal amount); decimal...

    as3 接口类的用法和好处

    真正的抽象类跟接口一样,不 能实例化,而且,继承者必须覆盖抽象类的所有方法才可以实例化(所以这点跟接口也很相似)。AS3有内置的抽象类如 DisplayObjectContainer,大家可以尝试去用来测试实例化,继承的可行性...

    java 接口 类 继承 多态的简单实例

    首先,**接口(Interface)**是Java中的一个重要概念,它是一种完全抽象的类,只能包含常量定义和抽象方法。接口用于定义对象间的行为规范,使得不同的类可以通过实现同一接口来共享相同的行为。接口间的多继承特性...

    java入门课件8(鞍山师范学院高等职业技术学院)

    接口和抽象类有明显的区别:接口可以看作是特殊的抽象类,但它只包含方法声明和常量定义,不允许有字段和方法实现。抽象类可以包含字段、构造器、非抽象方法等,而接口强调的是多继承的能力,一个类只能直接继承一个...

Global site tag (gtag.js) - Google Analytics