java编程思想——抽象类
2015-07-26 17:11
417 查看
一、抽象类
1、什么是抽象类
对于类的某个方法可以描述这个的某个特性。比如动物的跑等,但是不同的对象可能方法是不一样的。
这就需要对方法进行抽象。这样就可以根据不同的类的特点,进行继承,然后再对抽象的方法进行重写。
abstract class **
{
abstract void **();
}
2、抽象类的特点
(1)抽象类不可以被实例化
(2)抽象类的抽象方法只是被声明,不被实现。方法要被关键字abstract描述。抽象方法对应的抽象类,也要被abstract关键字描述。
(3)抽象类中被继承后,必须要把所有的抽象的方法进行实现。否则其还是抽象类,不能进行实例化。
3、抽象类一些问题
(1)抽象类有无构造函数
抽象类是有构造函数的。抽象类会有子类,抽象类中的构造函数可以给子类进行初始化。
(2)抽象类中可以不定义抽象方法么?
可以!
很少见,目的就是不让其创建对象。
(3)抽象关键字不可以和哪些关键字共存?
private不可以,因为抽象方法要被覆盖,私有的方法不能被覆盖。
static不可以
final不可以
(4)抽象类和一般类的异同?
相同:都是描述类的
不同:抽象类只有声明,没有具体的描述。
一般类中不能定义抽象方法,而抽象类中可以定义抽象方法。
(5)抽象类一定是一个父类么?
是的!需要子类覆盖其方法,才能进行实例化!
1、什么是抽象类
对于类的某个方法可以描述这个的某个特性。比如动物的跑等,但是不同的对象可能方法是不一样的。
这就需要对方法进行抽象。这样就可以根据不同的类的特点,进行继承,然后再对抽象的方法进行重写。
abstract class **
{
abstract void **();
}
2、抽象类的特点
(1)抽象类不可以被实例化
(2)抽象类的抽象方法只是被声明,不被实现。方法要被关键字abstract描述。抽象方法对应的抽象类,也要被abstract关键字描述。
(3)抽象类中被继承后,必须要把所有的抽象的方法进行实现。否则其还是抽象类,不能进行实例化。
3、抽象类一些问题
(1)抽象类有无构造函数
抽象类是有构造函数的。抽象类会有子类,抽象类中的构造函数可以给子类进行初始化。
(2)抽象类中可以不定义抽象方法么?
可以!
很少见,目的就是不让其创建对象。
(3)抽象关键字不可以和哪些关键字共存?
private不可以,因为抽象方法要被覆盖,私有的方法不能被覆盖。
static不可以
final不可以
(4)抽象类和一般类的异同?
相同:都是描述类的
不同:抽象类只有声明,没有具体的描述。
一般类中不能定义抽象方法,而抽象类中可以定义抽象方法。
(5)抽象类一定是一个父类么?
是的!需要子类覆盖其方法,才能进行实例化!
相关文章推荐
- java基础-jdbc——三种方式加载驱动建立连接
- 【Java EE 学习 15】【自定义数据库连接池之动态代理的使用】
- 深入探讨Java 类加载器
- springmvc请求接收参数的几种方法
- Kafka和Spring集成实践
- Java 显示调用和隐式调用
- mybatis的缓存机制(一级缓存二级缓存和刷新缓存)和mybatis整合ehcache
- Java中堆和栈的区别
- cmd运行Java的步骤以及出现找不到或无法加载主类的时的解决办法
- Spring与classpath*加载配置文件
- JAVA垃圾收集机制与内存分配
- Eclipse 常用快捷键
- java String的equals,intern方法(转载)
- eclipse中的输入提示怎么设置
- java.lang.IllegalArgumentException的解决
- java基础-反射之Class.forName
- java实现CSV 字段分割
- Java 理论与实践: 正确使用 Volatile 变量
- JAVA调用接口
- JAVA.AWT.CANVAS使用