精华内容
下载资源
问答
  • 抽象类方法有方法体吗
    千次阅读
    2021-01-30 21:26:33

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

    // 这就是一个抽象类
    abstract class Animal {
        // 动物会叫
        public abstract void cry(); // 不确定动物怎么叫的。定义成抽象方法,来解决父类方法的不确定性。抽象方法在父类中不能实现,所以没有方法体。但在后续在继承时,要具体实现此方法。
    }
    
    更多相关内容
  • 所谓的没有方法体指的是,在声明的时候没有大括号以及其中的内容,而是直接在声明时在方法名后加上分号结束,另外在声明抽象方法时方法还要加一个关键字”abstract”来修饰。 例如: abstract function fun1(); ...
  • 我们在里面定义的只有方法名没有方法体的方法就是抽象方法,所谓没有方法体就是在方法声明的时候没有大括号以及其中的内容,而是直接声明时在方法名后加上分号结束,另外在声明抽象方法时还要加一个关键字”...
  • 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的。

    展开全文
  • 1、如果一个类中一个方法是抽象方法,则这个类就是抽象类; 2、抽象类必须加上abstract关键字修饰; 抽象方法: 定义:一个方法如果没有方法体,则这个方法就是抽象方法 1、一个方法没有方法体,直接用分号结束的...
  • 主要介绍了Java抽象类和抽象方法定义与用法,结合实例形式详细分析了Java抽象类和抽象方法相关原理、定义、使用方法及操作注意事项,需要的朋友可以参考下
  • 2)接口不能有方法体抽象类可以。3)接口不能静态方法,抽象类可以。4)在接口中凡是变量必须是public static final,而在抽象类中没有要求。忽然此一文,是因为同学疑惑道:抽象类居然还有构造方法,又不能...

    以举例的方式说到如何区分抽象类和接口,这里我们从Java语法谈起,使我们更加了解这两者的内在区别。它们的语法区别:

    1)接口不能有构造方法,抽象类可以有。

    2)接口不能有方法体,抽象类可以有。

    3)接口不能有静态方法,抽象类可以有。

    4)在接口中凡是变量必须是public static final,而在抽象类中没有要求。

    忽然有此一文,是因为同学疑惑道:抽象类居然还有构造方法,又不能直接用来new。我的解释是平时在抽象类中对于构造方法的存在,没有什么印象,是因为IDE默认为你生成了一个无参构造方法,也可以显式地写出构造方法,这个构造方法,是用来被子类调用的,因为任何子类都必须调用从Object开始的所有父亲的构造方法,才算完成初始化工作。那么我引申一下,问他们,接口有构造方法吗?他们的理解,抽象可以有,为什么接口不可以有?!那么在接口里写入构造方法时,编译器提示:Interfaces cannot have constructors。这又何解?

    从语法的角度来说,抽象类必须有构造方法,而接口严禁有构造方法,这本身也说明了它们性质的不同。抽象类是一个类,别的类是用关键字 extends 来继承下来,并扩展的,有非常强的is-a的关系,这种关系一般来说符合里氏代换原则。而接口,是被其他类用关键字 implements 来实现接口定义的方法的。如果没什么区别,何必整出两个不同的关键字。  接口只是定义功能和行为规范,如果一个类实现了一个接口,那么这个类必须遵守这个接口的方法约定,但没有is-a的关系。把墙壁上的“小学生行为规范”想象成一个接口,那么是小学生必须遵守这个约定,但小学生不是“行为规范”。

    构造方法是用来在对象初始化前对对象进行一些预处理的,提供了实例化一个具体东西的入口。接口只是声明而已,不一定要进行什么初始化,就算要进行初始化,也可以到实现接口的那一些类里面去初始化。接口只是用来表述动作,表述规范来的,可以new一台computer,但我们无法new一个IDE、SATA、PCI、PS-2。因此,接口要构造方法何用?接口是一种规范,被调用时,主要关注的是里边的方法,而方法是不需要初始化的,类可以实现多个接口,若多个接口都有自己的构造器,则不好决定构造器的调用次序,构造器是属于类自己的,不能继承,因为是纯虚的,接口不需要构造方法。而抽象类是具体类的祖先,即使是石器时代,也总要干些初始化的工作,抽象类虽然是不能直接实例化,但实例化子类的时候,就会初始化父类,不管父类是不是抽象类都,都会调用父类的构造方法,初始化一个类,先初始化父类,有没有说初始化接口。

    1)Java中抽象类和接口中有构造方法吗?

    在接口里写入构造方法时,编译器提示:Interfaces cannot have constructors。

    A. 构造方法用于初始化成员变量,但是接口成员变量是常量,无需修改。接口是一种规范,被调用时,主要关注的是里边的方法,而方法是不需要初始化的,

    B. 类可以实现多个接口,若多个接口都有自己的构造器,则不好决定构造器链的调用次序

    C. 构造器是属于类自己的,不能继承。因为是纯虚的,接口不需要构造器。

    在抽象类中可以有构造方法,只是不能直接创建抽象类的实例对象,但实例化子类的时候,就会初始化父类,不管父类是不是抽象类都会调用父类的构造方法,初始化一个类,先初始化父类。

    A.方法名与类名相同;

    B.没有返回类型(例如return、void等);

    C.不能被static、final、native、abstract和synchronized修饰,不能被子类继承。

    D.父类的构造方法不能被子类调用,可以通过super语句调用父类的构造方法。

    E.构造方法可以重载,以参数的个数,类型,顺序,分为空参构造方法和有参构造方法。

    注:

    抽象类中不一定有抽象方法,抽象方法一定存在于抽象类中。

    继承抽象类的可以是普通类,但必须重写抽象类中的所有抽象方法,也可以是抽象类,无需重写抽象类中的所有抽象方法。

    注:

    可以说是一种特殊的抽象类,里面的方法全是抽象方法。

    子类实现接口必须对接口中的方法全部重写。

    1)接口不能有构造方法,抽象类可以有。

    2)接口不能有方法体,抽象类可以有。

    3)接口不能有静态方法,抽象类可以有。

    4)在接口中凡是变量必须是public static final,而在抽象类中没有要求。

    展开全文
  • 里面定义的没有方法体的方法就是抽象方法,在方法声明的时候没有大括号以及其中的内容,另外在声明抽象方法的时候,还要加上关键字abstract来修饰。 例如: abstract function fun1(); abstract function fun2...
  • 只要一个类里面一个方法是抽象方法,那么这个类就要定义为抽象类抽象类同样用 abstract 关键字来定义。 抽象类不能产生实例对象,通常是将抽象方法做为子类方法重载的模板使用的,且要把继承的抽象类里的方法都...
  • 抽象方法必须在抽象类中吗

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

    抽象方法必须在抽象类中吗2020-07-01 15:01:18文/叶丹

    1、抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。2、Final类中的属性和方法都必须被final修饰符修饰。3、最终类不能派生子类,最终方法不能被覆盖。4、子类要调用父类的方法,必须使用super关键字。

    f1ebd2a5cf50b280c7f777e70826ce81.png

    抽象方法:

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

    抽象方法与抽象类:

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

    抽象方法与接口:

    在interface中所有的方法都是public abstract的,即使你没有申明它是public abstract的。在interface中所有的数据成员都是public static final的,即使你没有申明.但不能是blank final 在编译时候确定的。在Java,interface的地位和class是一样的。实现interface的类,其interface中所有的方法必须被“实现”,否则这个类成为一个抽象类。Interface可以从多个interface得到继承,但是不能继承类。一个类可以实现多个interface。

    展开全文
  • 抽象方法抽象类 在OOP 语言中,一个类可以一个或多个子类,而每个类都至少一个公有方法做为 外部代码访问其的接口。而抽象方法就是为了方便继承而引入的,我们先来看一下抽象类和 抽象方法的定义再说明它的...
  • 抽象类的子类必须实现抽象方法体 抽象类you构造函数 抽象类只能用作基类,无法实例化(new) 抽象类不能被实例化。 抽象类存在的意义: 1.抽象类不能被实例化,只能被其他类继承 2.继承抽象类的子类必须把抽象类中的...
  • java抽象类有构造方法吗?

    千次阅读 2020-05-27 21:50:09
    定义抽象类 格式 : abstract class 类名{} 举例 : 抽象类中的 方法 抽象方法 abstract void eat();...抽象类中,构造方法,但是不能new,那么构造方法干嘛的呢? 给子类用的!!! 抽象类,一样可以使用多态来创建子
  • 抽象类+抽象方法

    千次阅读 2021-01-09 15:56:30
    对于这样的场景,我们可以将动物类,设计为抽象类抽象类不能被实例化对象,只是提供了所有的子类的共有的部分,为了给所有的子类定义公共属性 abstract class Animal{ String name; int age; public void eat(){} ...
  • 抽象类是不是必须要抽象方法

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

    千次阅读 2021-02-25 18:46:49
    你需要知道两件事-declaration:方法的原型或结构.例如:public int add(int a,int b);...}现在抽象方法可以一个声明,即结构或原型.但它没有定义.定义应该在扩展包含抽象方法中完成:class A ...
  • java抽象类和抽象方法

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

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

    千次阅读 2020-07-26 22:07:01
    java中的抽象方法就是以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需的参数,没有方法体,也就是说抽象方法只需要声明而不需要实现。 抽象方法与抽象类: 当一个方法为抽象方法时,意味着这个...
  • 抽象类必须要抽象方法吗?

    千次阅读 2021-02-22 10:40:33
    抽象类必须要抽象方法吗? 答:不需要, 抽象类不一定抽象方法;但是包含一个抽象方法的类一定是抽象类。(抽象方法就是抽象类,是抽象类可以没有抽象方法) 解释: 抽象方法: java中的抽象方法就是以...
  • 今天在云和学院学了很多...–抽象类的派生类必须实现抽象方法体抽象类只能用作基类,无法实例化 补充: 重写:不同对象对于同一个方法调用的不同行为(指不同对象收到相同消息时,会产生不同行为) 实操: 定义一个Peo
  • 目录1. 如何调用抽象类中的抽象方法?2. 如何调用接口中的抽象方法? 1. 如何调用抽象类中的抽象方法? 2. 如何调用接口中的抽象方法
  • 七、java中的抽象类和抽象方法详解

    千次阅读 2020-12-24 10:53:56
    为了表示『抽象』这一概念,我们使用abstract关键字表示——abstract类是抽象类,abstract方法是抽象方法。   2、什么是抽象类、抽象方法? 类用于描述现实生活中一类事物。类中属性、方法
  • java抽象类的构造方法和普通类的构造方法...抽象类就是一个不能实例化的不同类不过如果方法加了abstract那么就必须在子类里面重写了(1)Java中抽象类和接口中构造方法吗?①在接口中 不可以构造方法在接口里写入构...
  • 抽象类和抽象方法的使用

    千次阅读 2022-02-08 15:50:04
    时候将一个类设计的非常抽象,以至于他没有具体的实例,这样的类叫做抽象类。 abstract关键字的使用 1、abstract可以用来修饰结构、类、方法 2、一旦父类抽象了,就不可以再实例化造对象 ps:父类还是应该提供...
  • Java抽象类和抽象方法归纳总结

    千次阅读 2020-06-11 12:26:24
    这篇文章从不同角度归纳...目录一,抽象类关键点二,抽象类与抽象方法的定义1.抽象类2.抽象方法三,注意事项1.关于抽象类的构造函数的问题2.抽象类与常规类的区别3.抽象方法的定义和实现问题4.抽象方法抽象类之间的关
  • Java中抽象类方法的重写

    千次阅读 2020-11-10 22:29:33
    1. 抽象类 关键字:abstract 类:用来描述一类具体的事物 抽象类:抽象的、模糊的、不具体的类 在Java的普通类中是不允许多...抽象类可以抽象方法,也可以非抽象的方法 2.抽象类中可以构造器,但是不能创建

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 236,056
精华内容 94,422
关键字:

抽象类方法有方法体吗