精华内容
下载资源
问答
  • 抽象方法可以出现在非抽象类中吗
    千次阅读
    2020-07-03 20:57:37

    java中抽象类可以有非抽象方法、抽象方法
    但是如果这个类有抽象方法那么它一定是抽象类

    package com.d;
    
    public abstract class Vehicle {
        public abstract String NoOfWheels();
        public String No(){
            System.out.println("抽象类的非抽象方法");
            return "抽象类的非抽象方法";
        }
    }
    
    
    更多相关内容
  • 抽象方法必须在抽象类中

    千次阅读 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。

    展开全文
  • 以举例的方式说到如何区分抽象类和接口,这里我们...4)接口中凡是变量必须是public static final,而在抽象类中没有要求。忽然有此一文,是因为同学疑惑道:抽象类居然还有构造方法,又不能直接用来new。我的解释...

    以举例的方式说到如何区分抽象类和接口,这里我们从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,而在抽象类中没有要求。

    展开全文
  • 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的。

    展开全文
  • 在抽象类中可以没有抽象方法 这是最近Java开发人员工作面试的电话面试中向我的一位读者提出的有趣的Java核心问题之一。 即使他知道你 无法用Java将抽象类定型为final ,他对方法的措辞感到困惑。 答案很简单,不...
  • 如何调用抽象类中抽象方法

    千次阅读 2020-10-18 15:40:28
    如何调用抽象类中抽象方法 1.抽象类就是不能使用new方法进行实例化的类,即没有具体实例对象的类。抽象类有点类似“模板”的作用,目的是根据其格式来创建和修改新的类。对象不能由抽象类直接创建,只可以通过...
  • 抽象类中抽象方法

    千次阅读 2019-12-11 14:56:16
    当多个子类继承同一个抽象类的时候,有些共同的属性,不需要子类特别实现的可以定义为同一个抽象方法,使用的时候子类直接调用即可。 比如抽象父类内部有个单例的静态的抽象方法c,有A,B两个子类都继承该类,...
  • 抽象类中是否一定要有抽象方法

    千次阅读 2020-06-11 09:20:14
    抽象类可以没有抽象方法,但是如果你的一个类已经声明成了抽象类,即使这个类中没有抽象方法,它也不能再实例化,即不能直接构造一个该类的对象。 如果一个类中有了一个抽象方法,那么这个类必须声明为抽象类,否则...
  • 抽象类必须要有抽象方法吗?

    万次阅读 2019-07-22 14:36:51
    2.抽象类可以没有抽象方法 3.一个类如果包含抽象方法,那么这个类必须是抽象类,否则编译就会报错。 4.最关键的一点就是如果一个类是抽象类,那么这个类是不能被实例化的。 如下: public abstract cl...
  • Java抽象类中是否可以有构造方法

    千次阅读 2021-03-23 10:40:52
    所以既然抽象类是不允许被实例化的,那么他的构造方法存在是否还有实际意义? 直接上例子 //抽象父类 abstract public class Shape { public Shape(){ System.out.println("这是Shape的构造方法"); } p
  • 接口和抽象类

    千次阅读 2017-11-02 09:54:23
    抽象类抽象类中方法可以有抽象方法,也可以抽象方法可以全部都是抽象方法,也可以全部都是非抽象方法抽象方法只能出现在抽象类或接口中,不能出现在非抽象类中抽象类和接口不能new对象抽象类可以继承抽象...
  • 抽象类必须要有抽象方法吗?抽象类能使用 final 修饰吗?
  • java抽象类和抽象方法

    千次阅读 2021-03-07 00:02:17
    一、什么是抽象类和抽象方法没有具体功能的实现,通过子类继承后重写方法来实现一定约束的类称之为抽象类抽象类必须被abstract修饰。抽象方法就是只有方法声明,没有方法体的方法抽象类的使用一般通过继承来实现...
  • java抽象类可以被继承吗?

    千次阅读 2021-03-06 06:39:35
    Java语言,用abstract 关键字来修饰一个类时,这个类叫作抽象类抽象类是它的所有子类的公共属性的集合,是包含一个或多个抽象方法的类。抽象类可以看作是对类的进一步抽象。面向对象领域,抽象类主要用来进行...
  • C#中抽象类与抽象方法的详解

    万次阅读 2020-06-17 17:41:11
    抽象类的含义是什么? 抽象类怎么创建? 抽象类的规则有哪些? 抽象方法? 抽象类被运用的意义是什么?
  • 抽象类就是不能使用new方法进行实例化的类,即没有具体实例对象的类。抽象类有点类似“模板”的...在抽象类中的成员方法可以包括一般方法和抽象方法。抽象方法就是以abstract修饰的方法,这种方法只声明返回的数据类...
  • 目录1. 如何调用抽象类中的抽象方法?2. 如何调用接口中的抽象方法? 1. 如何调用抽象类中的抽象方法? 2. 如何调用接口中的抽象方法
  • 简单来说,接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类可以有私有方法或私有变量的,另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法...
  • 抽象类中抽象方法不用重写,其他必须重写,接口的方法必须重写; 接口和抽象类中只有方法名,没有定义的,如果你不定义 也就是空方法,接口就是为了弥补java不能多重继承,接口针对的是对象而不是实现。实现的...
  • Java中抽象类方法的重写

    千次阅读 2020-11-10 22:29:33
    1. 抽象类 关键字:abstract 类:用来描述一类具体的事物 抽象类:抽象的、模糊的、不具体的类 Java的普通类中是不允许多继承的,原因是会出现调用 不明确的问题;...抽象类中可以有构造器,但是不能创建
  • C#抽象类、抽象属性、抽象方法

    千次阅读 多人点赞 2020-06-10 00:51:31
    前言:本博文讲述了C#面向对象抽象类,通过本博文的阅读,读者可以掌握C#抽象类的概念、应用、好处以及一些特性。 文章目录一、抽象类概念二、示例讲解三、抽象类的作用四、使用抽象类的好处五、抽象类总结 一、...
  • 抽象类+抽象方法

    千次阅读 2021-01-09 15:56:30
    对于这样的场景,我们可以将动物类,设计为抽象类抽象类不能被实例化对象,只是提供了所有的子类的共有的部分,为了给所有的子类定义公共属性 abstract class Animal{ String name; int age; public void eat(){} ...
  • 因为抽象类不能实现实例但是一旦一个普通类继承了抽象类 便也可以在构造函数调用其抽象类的构造函数也可以使用其方法可以这么理解吧 抽象类就是一个不能实例化的不同类不过如果方法加了abstract那么就必须子类...
  • C#抽象类和抽象方法(很详细,你值得拥有!!!)

    千次阅读 多人点赞 2020-06-18 19:10:32
    什么是抽象类? 什么是抽象方法? 抽象类和抽象方法有什么特性? 抽象类的使用场景? 抽象类的作用? 抽象类和接口的区别? 抽象类和抽象方法怎么声明? 抽象类和抽象方法如何使用?
  • Java语言,接口是一个抽象类型,是抽象方法的集合,通常以关键字interface来声明。一个通过继承接口的方式,从而来继承接口的抽象方法。接口只能定义常量和抽象方法,对。相关介绍:接口接口(Interface),...
  • Java抽象类和接口

    千次阅读 多人点赞 2022-04-08 15:17:42
    各位铁汁们大家好呀!今天让我们继续学习java,看看java抽象类和接口到底是什么? 里面也会讲到多态呀,一起来看看吧
  • Java抽象类中的静态方法

    万次阅读 2018-12-06 20:09:26
    抽象类中可以有静态方法的,被子类继承后可以通过子类的实例化对象调用;也可以直接通过抽象类和子类的类名来调用,就像其他的静态方法一样。同样的静态变量也可以使用相同的方法访问。 实例: package ...
  • 关于那么抽象类中抽象方法

    千次阅读 2019-02-28 19:57:35
    关于抽象类的问题,就是 抽象类中抽象...在抽象类中打出抽象方法的时候并不会报错的。代码如下: public abstract class factory { String name; public void getname() { System.out.println(name); } publi...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,464,308
精华内容 585,723
关键字:

抽象方法可以出现在非抽象类中吗

友情链接: android_thread.zip