java抽象类和普通类的区别】的更多相关文章

1.抽象类不能被实例化. 2.抽象类可以有构造函数,被继承时子类必须继承父类一个构造方法,抽象方法不能被声明为静态. 3.抽象方法只需申明,而无需实现,抽象类中可以允许普通方法有主体 4.含有抽象方法的类必须申明为抽象类 5.抽象的子类必须实现抽象类中所有抽象方法,否则这个子类也是抽象类. 抽象类是否可以有构造函数?答案是可以有.抽象类的构造函数用来初始化抽象类的一些字段,而这一切都在抽象类的派生类实例化之前发生.不仅如此,抽线类的构造函数还有一种巧妙应用:就是在其内部实现子类必须执行的代码…
IEnumerable 其原型至少可以说有15年历史,或者更长,它是通过 IEnumerator 来定义的,而后者中使用装箱的 object 方式来定义,也就是弱类型的.弱类型不但会有性能问题,最主要地是不能在编译时进行类型检查,编程靠运气,只有运行时在用户面前崩溃了(而且是某个特定数据.几十遍运行之后才崩溃了)才丢人地被发现. 所以最近10几年都是强调强类型的编程方式,尽量不要弱类型,尽量不要画蛇添足地去搞什么“动态”.真正好的动态程序,也是强类型的,解决了稳定性问题的. 而 .net 最初设…
抽象类: 抽象方法:不包含方法体的方法为抽象方法,抽象方法必须使用abstract关键字来修饰: abstract void method(); 抽象类:当一个类中包含了抽象方法时,该类必须使用abstract关键字来修饰.抽象类可以不包含抽象方法,但是有抽象方法的类一定是抽象类. abstract ABC { public abstract String getXXX(); ... } 抽象类不能创建一个类的对象. 子类必须实现抽象类定义的抽象方法. 抽象类不能被关键字final修饰(fina…
本文转自:http://blog.csdn.net/fanteathy/article/details/7309966 区别: 1.对接口的使用是通过关键字implements.对抽象类的使用是通过关键字extends.当然接口也可以通过关键字extends继承. 2.接口中不可以声明成员变量(包括类静态变量),但是可以声明类常量.抽象类中可以声明各种类型成员变量,实现数据的封装.(另Java接口中的成员变量都要声明为public static final类型) <?php abstract c…
抽象类与类型定义相关: 接口类与行为规范相关: 接口类不是类型. 抽象类:是不完整的类,函数实现未定义:可以继承,不可以实例化. 接口类:接口类不是类:是类间交互的规范:不能继承.不能实例化,只能实现. 接口类:协议类. 接口类是抽象类的二次抽象,将抽象类中的数据移除. 接口类只依赖通用数据,不依赖具体数据. 接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式.…
1)枚举型可以直接与数据库打交道,我通常使用varchar类型存储,对应的是枚举的常量名.(数据库中好像也有枚举类型,不过也没用过) 2) switch语句支持枚举型,当switch使用int.String类型时,由于值的不稳定性往往会有越界的现象,对于这个的处理往往只能通过if条件筛选以及default模块来处理.而使用枚举型后,在编译期间限定类型,不允许发生越界的情况 3) 当你使用常量类时,往往得通过equals去判断两者是否相等,使用枚举的话由于常量值地址唯一,可以用==直接对比,性能会…
一.抽象类 抽象类:拥有抽象方法的类就是抽象类,抽象类要使用abstract声明 抽象方法:没有方法体的方法,必须要使用abstract修饰 为什么要使用抽象类,抽象方法? 举例来说,如果你定义了一个类Person,此类中包含很多公共属性和方法.但是其中有一个方法,每个子类实现的方式都不同.比如“吃饭”这个方法,Child类中,“吃饭”使用勺子”,Adult类中,“吃饭”使用筷子.那么我们就在Person类中把这个方法定义好,就毫无意义. public abstract class Person…
抽象类:一个类中有抽象方法,这个类就变成了抽象类.抽象类中class的前面必须有abstract修饰符.抽象类中可以有普通方法,也可以有抽象方法,而抽象方法的个数可以是0个,也可以是多个.子类继承父类,必须重写全部的抽象方法,除非这个类也变成了抽象类.接口:表面上看,接口是一种特殊的抽象类,但是类是类,接口是接口,是并列的关系.接口中所有方法都必须是抽象的.(1.8之后允许接口定义非抽象方法)接口中方法定义默认为public abstract类型,成员变量默认为public static fin…
Java 语言中,抽象类(abstract class) 和接口(interface) 是抽象思想的两种体现形式.初学者很容易把这两者搞混,所以Java面试中考抽象类和接口的区别的面试题也常有出现的. 本文将从下面几个方面深入探讨一下Java 抽象类和接口 一.抽象类语法及规范 二.接口的语法及规范 三.抽象类和接口的区别 ,将从语义细节及设计层面两方面来描述 本文由本人查阅资料并结合自己理解所作,如果有理解不到位的地方,欢迎各位斧正. 一.抽象类 抽象类使用 abstract class 来定…
很多常见的面试题都会出诸如抽象类和接口有什么区别,什么情况下会使用抽象类和什么情况你会使用接口这样的问题.本文我们将仔细讨论这些话题. 在讨论它们之间的不同点之前,我们先看看抽象类.接口各自的特性. 抽象类 抽象类是用来捕捉子类的通用特性的 .它不能被实例化,只能被用作子类的超类.抽象类是被用来创建继承层级里子类的模板.以JDK中的GenericServlet为例: public abstract class GenericServlet implements Servlet, ServletC…