精华内容
下载资源
问答
  • 抽象类并不能继承接口,但可以实现接口。 抽象类可以继承具体类,前提是具体类必须具有构造函数且具有访问权限。这里需要说明,当一个具体类没有写构造函数时,系统会自动生成默认的无参构造器,意味着没有写构造...

    接口可以继承接口。

    抽象类并不能继承接口,但可以实现接口。

    抽象类可以继承具体类,前提是具体类必须具有构造函数且具有访问权限。这里需要说明,当一个具体类没有写构造函数时,系统会自动生成默认的无参构造器,意味着没有写构造函数的具体类也可以被抽象类继承。但是,一旦将具体类的无参构造器设置访问修饰符为 private 时,抽象类则不可以继承。

    抽象类可以有静态的 main 方法。抽象类在面向对象中是被用来描述现实中的抽象事物, 抽象类没有对象概念所以不能被实例化. 但可以定义属性和方法, 其中属性方法都可以是静态的. 静态的意义其实就是在栈内存中只有一个, 所以该成员也会先于对象出现在内存中, 所以静态并没有违反抽象的原则. 抽象类中可以定义静态成员.

    interface IA{}
    interface IB{}
    interface I extends IA,IB{}//接口可以继承多个接口
    abstract class E implements IA{} //抽象类可以实现接口,但不可以继承接口
    abstract class F extends C{}//抽象类可以继承具体类
    class D{private D(){}}
    //abstract class G extends D{}//Implicit super constructor D() is not visible for default constructor. Must define an explicit constructor抽象类不可以继承无权限构造器的具体类
    abstract class H{public static void main() {}}//抽象类可以有静态的main方法
    
    展开全文
  • 能不能有些抽象方法不实现?  分享| 2015-05-27 21:22忆晨儿 | 浏览 1161 次 来自:手机知道  java 2015-05-27 21:32 #2016年高质量新标准全面升级!# 提问者采纳 凡是实现...

    请问java中,抽象类里的抽象方法都要在它的子类中全部实现吗?能不能有些抽象方法不实现?

    2015-05-27 21:22 忆晨儿  |  浏览 1161 次    来自: 手机知道
      java
    2015-05-27 21:32 提问者采纳
    凡是实现类必须要完整的重写所有的方法。(实现类!)部分不重写的话子类只能也是抽象类。。直至。。。。所有抽象方法被全部重写为止。
    提问者评价
    太给力了,你的回答完美地解决了我的问题,非常感谢!
    评论  |  9  1
    2015-05-27 21:29 网友采纳
    你只要记得接口就是一个特殊的抽象类。珐怠粹干诔妨达施惮渐实现它的类它必须对其所有方法进行重写。
    
    接口是个比较抽象的东西。它一般来说可看作是1个功能扩展的类。比如你已经写好了1个类。而且也已经写好了所有的方法通俗点说就是实现了所有的功能。但现在如果又要多增加个功能。而又不想修改源代码的情况下。你就可以考虑实现接口。接口里写要增加的方法(功能)。让你这个类实现它。你就必须重写了这个方法。
    
    有时候接口也可以看作是实现它的类的父类
    评论  |  1  0

    楚杰  V1 | 某公司设计部部长向TA咨询

    擅长: 互联网

    为您推荐:

    按默认排序 | 按时间排序

    其他2条回答

    2015-05-27 21:24 我才是淡淡  | 十级
    可以,不过这样的话子类还是一个抽象类
    评论  |  0  0
    2015-05-27 21:29 qq503758762  | 五级
    自己demo一个比较来得快
    展开全文
  • 今天我们谈谈为什么抽象类中不能有静态的抽象方法以及static修饰的方法不能被重写可以被继承 1 static修饰的方法不能被重写可以被继承 我们知道static修饰的方法为静态方法,可以直接使用类名.方法名进行调用...

    这篇文章介绍了什么是抽象类
    今天我们谈谈为什么抽象类中不能有静态的抽象方法以及static修饰的方法不能被重写可以被继承

    1 static修饰的方法不能被重写可以被继承

    我们知道static修饰的方法为静态方法,可以直接使用类名.方法名进行调用,即该方法不属于某个对象属于该类。

    • 我们根据下面的例子在看看static修饰的方法是否可以被重写:
    public class StaticLearnig {
        public static void main(String[] args) {
            SuperClass superClass=new SubClass();
            superClass.a();
            superClass.b();
        }
    }
    /*
    结果:
    SuperClass a
    SubClass b
    */
    
    class SuperClass{
        //静态方法
        public static void a(){
            System.out.println("SuperClass a");
        }
        //非静态方法
        public void b(){
            System.out.println("SuperClass b");
        }
    
    }
    
    class SubClass extends SuperClass{
        //静态方法
        public static void a(){
            System.out.println("SubClass a");
        }
    
        //非静态方法
        public void b(){
            System.out.println("SubClass b");
        }
    }
    

    上面的例子我们可以清晰的看出static修饰的方法根本就没有重写。static方法引用的时候应该用类名来引用,而不是对象。同时static方法不参与继承,所以在继承体系里面也不存在重写的说法。

    • static修饰的方法可以被继承
    class A{
     public static void a(){
      System.out.println("a");
     }
    }
    class B extends A{}
     
    public class Test {
       public static void main(String[] args) {
             B.a();
       }
    }
    //结果:a
    //证明静态方法可以被继承
    

    **静态的方法可以被继承,但是不能重写。**如果父类中有一个静态的方法,子类也有一个与其方法名,参数类型,参数个数都一样的方法,并且也有static关键字修饰,那么该子类的方法会把原来继承过来的父类的方法隐藏,而不是重写。通俗的讲就是父类的方法和子类的方法是两个没有关系的方法,具体调用哪一个方法是看是哪个对象的引用;

    对于static修饰的方法有了一定的了解,这里大家有没有想过一个问题为什么abstract修饰的方法是不可同时是static修饰的呢?

    2 抽象类中不能有静态的抽象方法

    • 角度一:static关键字
      从上面的分析我们可以看出static修饰的方法可以被继承但是不能被重写,但是我们知道抽象方法是要被子类去实现的,即需要在子类重写的,那这是不是矛盾了呢?
    • 角度二:对象内存分配
      抽象类是不能实例化的,对象会在实例化时随着对象一起分配在内存,即这时还没有被分配内存;而static修饰的方法在类实例化之前就已经别分配了内存(在准备阶段),这样一来矛盾就出现了。
    展开全文
  • python抽象类、抽象方法实现

    千次阅读 2017-12-07 23:58:13
    由于python没有抽象类、接口的概念,所以要实现这种功能得abc.py这个类库,具体方式如下:# coding: utf-8 import abc#抽象类 class StudentBase(object): __metaclass__ = abc.ABCMeta @abc.abstractmethod def ...

    由于python没有抽象类、接口的概念,所以要实现这种功能得abc.py这个类库,具体方式如下:

    # coding: utf-8
    import abc
    
    #抽象类
    class StudentBase(object):
        __metaclass__ = abc.ABCMeta
    
        @abc.abstractmethod
        def study(self):
            pass
    
        def play(self):
            print("play")
    
    # 实现类
    class GoodStudent(StudentBase):
        def study(self):
            print("study hard!")
    
    
    if __name__ == '__main__':
        student = GoodStudent()
        student.study()
        student.play()

    抽象类中的抽象方法在实现类中必须实现,否则会报错。


    Ref :
    https://www.cnblogs.com/bjdxy/archive/2012/11/15/2772119.html

    展开全文
  • 首先,父类一个抽象方法,并且在自身的其他方法中调用了 public abstract class Baba { public abstract void say...父类 baba,一个say抽象方法,没有实现,并且在dosomething中调用了。如果直接调用dosomethi...
  • 如下代码,想得到这样结果execute AA before execute..C execute AA after 应该怎么处理 public class Test { public static void main(String[] args) { C c = new C(); c.A(); } } interface YY { ...
  • 今天开发kotlin项目过程中,因需要使用以前写好的框架基类,实现其中抽象方法时,因为当前类需要考虑具体怎么实现方法,所以计划返回null处理,发现kotlin提示异常“Null can not be a value of a non-null type...
  • 在研究OpenJDK源码过程中,我发现常用的设计方法就是2种:接口,接口-抽象类-具体实现类 。 在一些其它开源框架和业务开发中,经常存在着第3种设计,接口-具体实现类。
  • 抽象方法不能是static或native或synchroniz 原因及误解

    千次阅读 多人点赞 2014-09-20 14:02:25
    在网上看到过这么一篇文章,是关于抽象方法不能是static或native或synchroniz 的原因。其中提到了这些关键字的意义以及与 abstract 关键字的冲突,大体内容如下:
  • 抽象方法为什么不能是静态的

    千次阅读 2016-05-16 15:20:31
    抽象方法是没有方法体的,也就是不具体实现什么,如果是静态的意味着可以直接调用,然而这样是没有什么意义的。
  • Java抽象不能创建对象

    万次阅读 2017-03-06 14:35:21
    抽象类和接口都创建对象,只是后边的new不能是new他们自己,但可以new他们的实现类(必须是类,不能抽象类和接口), 人们使用抽象类和接口只是为了说明要干什么事,而让他们的实现类去根据自己的需要去实现这些...
  • 在开发过程中,常常会用到接口,实现抽象方法,若在调试过程中多个类(大约40个左右)都实现了该方法,如何准确的查找该方法并进行调试呢?求大神解答!不胜感激!
  • 抽象类和抽象方法 ...抽象方法只做声明,不能包含具体实现 抽象方法旨在被继承之后使用,所以不能用 private来修饰 2,抽象不能被直接实例化(不能用new创建) 3,抽象类可以没有抽象成员,但是抽象成员...
  • 抽象类里面可以抽象方法

    千次阅读 2013-01-06 16:37:23
    声明方法的存在而实现它的类被叫做抽像类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其...
  • Java的抽象方法抽象

    千次阅读 2019-06-08 11:43:15
    一点睛 ...抽象类必须使用abstract修饰符来修饰,抽象方法必须使用abstract修饰符来修饰,抽象方法不能有方法体。 抽象类不定被实例化。即使抽象类里包含抽象方法,这个抽象类也不能创建实例。...
  • 1、abstract是抽象的,指的是方法只有声明而没有实现,他的实现要放入声明该类的子类中实现。 2、static是静态的,是一种属于类而属于对象的方法或者属性,而我们知道,类其实也是一个对象,他是在class文件...
  • 抽象类和抽象方法定义及讲解?

    千次阅读 2019-02-26 17:26:23
    (1)抽象类只能作为其他类的基类,它不能直接实例化,对抽象不能使用new 操作符。 (2)抽象类中可以包含抽象成员,但非抽象类中可以。 (3)如果一个非抽象类从抽象类中派生,则其必须通过覆盖来实现所有...
  • Xposed拦截抽象方法

    千次阅读 2018-12-25 21:43:13
    而且只能Hook方法与构造方法不能Hook接口和抽象方法。如果直接拦截抽象方法,会出现下列错误: 1、直接使用findAndHookMethod拦截抽象方法 //unregisterBiz方法为LongLinkSyncService的抽象方法 XposedHelpers....
  • 抽象类、抽象方法抽象属性

    千次阅读 2016-05-05 16:25:00
    抽象类一般用于表达一种比较抽象的事物,比如前面所说的“水果”,而抽象方法则说明此抽象类应该具有的某种性质,比如Fruit 类中一个抽象方法GrowInArea(),说明水果一定一个最适合其生长的地区,但不同的水果...
  • 抽象类和抽象方法

    千次阅读 2018-11-13 10:55:06
    因为抽象类中方法具体化,这是一种完整的类,所以直接实例化也就没有意义了。 抽象类除了被继承过之外,是没有用途,没有值,没有目的。 不是抽象类就被成为具体类,具体的类可以实例化。 抽象类代表此类必须...
  • Java允许在定义方法方法体,包含方法体的方法抽象方法抽象方法用abstract修饰 格式:abstract void shout( ); //定义抽象方法shout//定义抽象类animal abstract class animal { //定义抽象方法shout()...
  • 抽象方法:只有方法名称,没有方法体(也就是没有具体实现),子类必须重写父类的抽象方法 虚函数:该方法由方法体,但是子类可以覆盖,也可以覆盖 ②虚方法有方法体,抽象方法没有方法体。抽象方法是一种强制...
  • 抽象类就是不能使用new方法进行实例化的类,即没有具体实例对象的类。抽象类有点类似“模板”的作用,目的是根据其格式来创建和修改新的类。对象不能抽象类直接创建,只可以通过抽象类派生出新的子类,再由其子类...
  • 抽象工厂模式1、优缺点2、使用场景3、具体实现 抽象工厂模式提供了一个创建一系列相关或者相互依赖对象的接口,无需指定他们具体的类 1、优缺点 优点: 1.具体产品在应用层的代码隔离,无需关系创建的细节 2.将一个...
  • 抽象不能继承接口

    千次阅读 2017-09-21 10:21:43
    1. 抽象类可以继承普通类,但可以继承接口。 (public abstract class 抽象类 extends 普通类 { }) 2. 接口可以继承多接口,但可以继承抽象类。...3. 抽象类可以实现单接口。(public abstract class 抽象类...
  • 抽象类及抽象方法作用

    千次阅读 2018-10-12 23:45:55
    举例:父类定义了一个排序方法,而具体的实现由子类来实现,可以是冒泡排序,也可以是希尔排序等等,父类的排序方法没有必要写出具体实现,只要声明一下就行 抽象类及抽象方法是一种约束,一种规范...
  • 抽象类也可以有实现体的方法

    千次阅读 2015-10-16 16:02:00
    2019独角兽企业重金招聘Python工程师标准>>> ...抽象类也可以拥有具体实现了的方法,只是不能直接实例化(不能直接new 抽象方法); 转载于:https://my.oschina.net/craftsdream/blog/518074
  • 面向对象——抽象类与抽象方法

    千次阅读 2020-04-13 09:26:04
    如果一个类具体的食物相联系,而只表达一种抽象的概念,仅是作为其派生类的一个基类,这样的类就是派生类,在抽象类中,声明抽象类中声明抽象方法是,如果加上abstract关键字则为抽象方法。abstract 修饰符可...
  • C# 抽象类和抽象方法详解

    千次阅读 2015-09-06 10:06:16
    我们知道,接口可以包含方法的申明和属性,但是方法包含代码,实现这个接口的方法必须包含接口中的所有方法和属性,但是现在出现这种情况,假设需要一个“接口”,要求类实现某些方法和属性,但是需要这这个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 707,665
精华内容 283,066
关键字:

抽象方法不能有具体的实现