精华内容
下载资源
问答
  • 抽象方法可以有方法体
    千次阅读
    2021-02-25 18:46:49

    你需要知道两件事

    -declaration:方法的原型或结构.例如:

    public int add(int a,int b);

    -definition:方法的实现

    public int add(int a,int b) {

    this.a = a;

    this.b = b;

    return a + b;

    }

    现在抽象方法可以有一个声明,即结构或原型.但它没有定义.定义应该在扩展包含抽象方法的类的类中完成:

    class A {

    public abstract int add(int a,int b); //just declaration- no body

    }

    class B extends A {

    /*must override add() method because it is abstract in class A i.e class B must have a body or definition of add()*/

    int a,b;

    public int add(int a,int b) {

    this.a = a;

    this.b = b;

    return a + b;

    }

    }

    更多相关内容
  • 抽象方法没有方法体

    千次阅读 2021-01-30 21:26:33
    抽象方法在父类中不能实现,所以没有方法体。 // 这就是一个抽象类 abstract class Animal { // 动物会叫 public abstract void cry(); // 不确定动物怎么叫的。定义成抽象方法,来解决父类方法的不确定性。抽象...

    抽象方法在父类中不能实现,所以没有方法体。

    // 这就是一个抽象类
    abstract class Animal {
        // 动物会叫
        public abstract void cry(); // 不确定动物怎么叫的。定义成抽象方法,来解决父类方法的不确定性。抽象方法在父类中不能实现,所以没有方法体。但在后续在继承时,要具体实现此方法。
    }
    
    展开全文
  • 我们在类里面定义的只有方法名没有方法体的方法就是抽象方法,所谓没有方法体就是在方法声明的时候没有大括号以及其中的内容,而是直接声明时在方法名后加上分号结束,另外在声明抽象方法时还要加一个关键字”...
  • 所谓的没有方法体指的是,在声明的时候没有大括号以及其中的内容,而是直接在声明时在方法名后加上分号结束,另外在声明抽象方法时方法还要加一个关键字”abstract”来修饰。 例如: abstract function fun1(); ...
  • 学过C#的人应该都知道抽象方法与虚拟方法,而很多初学...抽象方法中无法声明方法体 */ abstract class AbsClass { string name; public abstract void DisplayValue(string value); } /*继承抽象类的子类必须实现抽象
  • Java中的抽象方法

    千次阅读 2021-12-28 10:19:30
    抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。 由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段...

    在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。

    抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。

    由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要设计抽象类。

    父类包含了子类集合的常见的方法,但是由于父类本身是抽象的,所以不能使用这些方法。

    在 Java 中抽象类表示的是一种继承关系,一个类只能继承一个抽象类,而一个类却可以实现多个接口。

    如何定义抽象类:

     

    在访问修饰符后添加一个abstract关键字就可以将该类定义为抽象类。

    如何定义抽象方法:

     

    抽象方法和抽象类的定义很相似,都是在访问修饰符后添加一个abstract关键字。我们要注意的是abstract只能用在普通方法,不能使用在被static关键字修饰的方法和构造方法中。

    了解抽象抽象方法:

    抽象方法是定义在抽象类中,它只能出现在抽象类中,当在抽象类中我们也可以定义非抽象方法。

    当一个非抽象类去重写一个抽象类时,它必须去重写这个抽象父类中的所有抽象方法。所有抽象方法的访问修饰符不能被 private 修饰,因为在子类重写抽象类中的抽象方法时,需要进行访问。如果声明了private子类就不能对抽象父类中的抽象方法进行重写了。

    抽象方法没有方法体。

    例:在非抽象类中重写抽象类

    抽象类:

     

    子类:

     

    了解抽象类和接口的同和不同

    相同点:

    可以定义多个抽象方法,在非抽象子类重写抽象方法和实现接口时,必须要在子类中重写抽象方法。

    接口和抽象类都不能被实例化。

    不同点:

    抽象类可以存在构造方法,而接口中不能定义构造方法。

    抽象类可以定义非抽象方法,而接口中的方法都是抽象方法。

    抽象类中可以定义各种类型的成员变量,而在接口中声明的变量只能是常量。

    抽象类只支持单继承,接口支持多继承。

    抽象类中可以存在有方法体的方法,而接口的方法都是抽象方法,不能有方法体。

    接口中都方法都是共有的。

    回顾我们的抽象类:

    抽象类不能被实例化,如果被实例化,会在编译阶段就报错。只有继承抽象类的非抽象子类能被实例化。

    抽象类中的方法可以不是抽象方法,但抽象方法只能定义在抽象类之中。

    构造方法和被static关键字修饰的方法不能被abstract关键字修饰。

    抽象类的抽象方法没有方法体,就是没有实现功能的具体方法。

    一个类继承了一个抽象类,如果这个类也是抽象类,那么它就可以不去重写继承抽象类的抽象方法。如果是其他类就必须要进行抽象。

    抽象类中的抽象方法不能是被private访问修饰符修饰的,否则子类不能对其进行重写。

    展开全文
  • 抽象可以有抽象成员 –抽象类的派生类必须实现抽象方法体抽象类只能用作基类,无法实例化 补充: 重写:不同对象对于同一个方法调用的不同行为(指不同对象收到相同消息时,会产生不同行为) 实操: 定义一个...
  • PHP中的抽象类和抽象方法自己用的不多,但是经常会在项目中看到别人使用,同样,今天在看别人的代码的时候,发现使用... 2、除了在抽象类中可以有抽象方法之外,和正常的类完全一样  3、抽象类不能实例化对象  4、如
  • 在类里面定义的没有方法体的方法就是抽象方法,在方法声明的时候没有大括号以及其中的内容,另外在声明抽象方法的时候,还要加上关键字abstract来修饰。 例如: abstract function fun1(); abstract function fun2...
  • 抽象方法指没有方法体的方法,具体就是在方法声明的时候没有 {} 括弧以及其中的内容,而是直接在声明时在方法名后加上分号结束。 abstract 关键字用于定义抽象方法,语法: abstract function function_name(); ...
  • 抽象方法和抽象类 在OOP 语言中,一个类可以有一个或多个子类,而每个类都有至少一个公有方法做为 外部代码访问其的接口。而抽象方法就是为了方便继承而引入的,我们先来看一下抽象类和 抽象方法的定义再说明它的...
  • 011 抽象类必须要有抽象方法吗?

    千次阅读 2021-02-28 14:53:53
    (有抽象方法就是抽象类,是抽象类可以没有抽象方法)解释:抽象方法:java中的抽象方法就是以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需的参数,没有方法体,也就是说抽象方法只需要声明而不...

    抽象类必须要有抽象方法吗?

    答:不需要,

    抽象类不一定有抽象方法;但是包含一个抽象方法的类一定是抽象类。(有抽象方法就是抽象类,是抽象类可以没有抽象方法)

    解释:

    抽象方法:

    java中的抽象方法就是以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需的参数,没有方法体,也就是说抽象方法只需要声明而不需要实现。

    抽象方法与抽象类:

    当一个方法为抽象方法时,意味着这个方法必须被子类的方法所重写,否则其子类的该方法仍然是abstract的,而这个子类也必须是抽象的,即声明为abstract。abstract抽象类不能用new实例化对象,abstract方法只允许声明不能实现。如果一个类中含有abstract方法,那么这个类必须用abstract来修饰,当然abstract类也可以没有abstract方法。 一个抽象类里面没有一个抽象方法可用来禁止产生这种类的对象。

    Java中的抽象类:

    abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。

    在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在 interface中一般不定义数据成员),所有的成员方法都是abstract的。

    展开全文
  • 抽象可以有抽象成员(侧重族群的概念) 抽象类的子类必须实现抽象方法体 抽象类you构造函数 抽象类只能用作基类,无法实例化(new) 抽象类不能被实例化。 抽象类存在的意义: 1.抽象类不能被实例化,只能被其他...
  • 2)接口不能有方法体抽象可以有。3)接口不能有静态方法,抽象可以有。4)在接口中凡是变量必须是public static final,而在抽象类中没有要求。忽然有此一文,是因为同学疑惑道:抽象类居然还有构造方法,又不能...
  • java抽象类和抽象方法

    千次阅读 2021-03-07 00:02:17
    抽象方法就是只有方法声明,没有方法体的方法。抽象类的使用一般通过继承来实现二、为什么需要抽象类和抽象方法引用抽象方法和抽象类,是java提供的一种语法工具,引导使用者正确的使用它们,减少误用。相当于对子类...
  • 抽象方法和抽象类规则

    千次阅读 2017-04-12 09:58:56
    1 抽象类必须使用abstract修饰符来修饰,抽象方法也必须使用abstract修饰符来修饰,抽象方法不能有方法体。 2 抽象类不能被实例化,无法使用new关键字来调用抽象类的构造器创建抽象类实例。即使抽象类里不包含抽象...
  • 抽象类是不是必须要有抽象方法

    千次阅读 2021-08-15 23:57:30
    抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定...
  • 抽象类中是否一定要有抽象方法

    千次阅读 2020-06-11 09:20:14
    抽象类可以没有抽象方法,但是如果你的一个类已经声明成了抽象类,即使这个类中没有抽象方法,它也不能再实例化,即不能直接...抽象类可以没有抽象方法,也可以包含非抽象方法,但有抽象方法的类一定是抽象类。 ...
  • Java接口、抽象方法

    千次阅读 2021-03-08 23:39:30
    1)Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。接口定义的一般...
  • 抽象类和抽象方法详解

    千次阅读 2020-08-20 16:21:09
     当父类的某些方法不确定时,可以用abstract关键字来修饰该方法[抽象方法],用abstract来修饰该类[抽象类]。  我们都知道,父类是将子类所共同拥有的属性和方法进行抽取,这些属性和方法中,的是已经明确实现了...
  • java抽象方法怎么写

    千次阅读 2021-02-13 00:44:13
    1. java中什么叫抽象方法和抽象类及他们的特点,说的具体些...以下是二者的要点:马 克 -to -w in :1)抽象方法没有函数童鞋说,这什么意义呢?比如下面的例子,当我们不知道现在是什么车时,你让我写驾驶(ste...
  • 抽象方法必须在抽象类中吗

    千次阅读 2021-03-11 10:44:32
    抽象方法必须在抽象类中吗2020-07-01 15:01:18文/叶丹1、抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。2、Final类中的属性和方法都必须被final修饰符修饰。3、最终类不能派生子类,最终方法不能被...
  • 七、java中的抽象类和抽象方法详解

    千次阅读 2020-12-24 10:53:56
    为了表示『抽象』这一概念,我们使用abstract关键字表示——abstract类是抽象类,abstract方法是抽象方法。   2、什么是抽象类、抽象方法? 类用于描述现实生活中一类事物。类中属性、方法等
  • 类的继承结构中,越往上的类越具有通用性,也就越抽象。当它抽象到一定程度,就变成概念成框架,不能再产生实例化的对象了。例如“交通工具”,就无法用它来产生一个实例。对应这一现象,Java中提供了抽象类,它只能...
  • Java中的接口与抽象方法

    千次阅读 2021-03-06 22:33:03
    Java中的接口与抽象方法时间:2017-06-27...接口在java中是一个特殊的类,不过再特殊也是一种类 ,接口也可以看作是一些抽象方法的集合。Java接口的定义通常是用interface来修饰,比如定义一个A接口 public interfa...
  • 2、虚方法必须有方法体方法体可以没有任何内容。 3、子类可以根据需求选择性的是否重写虚方法。如果需要重写,在子类方法的返回值前加 override 关键字。 4、子类在重写虚方法时,可以根据需求选择性的是否使用 ...
  • 接口中只能定义常量和抽象方法,对。在Java语言中,接口是一个抽象类型,是抽象方法的集合,通常以关键字interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。接口中只能定义常量和抽象方法,对...
  • 抽象类必须要有抽象方法吗?

    千次阅读 2021-02-22 10:40:33
    有抽象方法就是抽象类,是抽象类可以没有抽象方法) 解释: 抽象方法: java中的抽象方法就是以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需的参数,没有方法体,也就是说抽象方法只需要...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 250,500
精华内容 100,200
关键字:

抽象方法可以有方法体