历次重开Java学习的记录0x03
0x04 抽象类在面向对象的概念中,所有的对象都是通过类来描述的,但是反过来,并不是所有的类的都是用来描述
对象的;
如果一个类中没有包括足够的信息来描述一个具体的对象,这样的类就是抽象类;
抽象类除了不能实例化对象之外,类的其他功能都会存在,字段,成员变量,成员方法,和构造方法的访问
方式都是和普通的类一样;
由于抽象类不能实例化对象,所有的抽象类必须要继承给下一个类才能被使用;
也是因为这个原因,通常在设计阶段要决定要不要设计抽象类;
在Java中抽象类表示的是一种继承关系,一个类只能继承一个抽象类,而一个类确可以有多个接口;
接口的概念就是抽象类的抽象,其中只能包含一个成员方法,成员变量都不能有,接口的更多内容不在本次记录之内;
在抽象类中:
1.抽象类不能被实例化;
2.抽象类不一定包含抽象类,但是含有抽象方法的类必须是抽象类;
3.抽象类中抽象方法只是声明,不包含方法体,就是不给出方法的具体实现也就是方法的具体功能;
4.抽象类的子类必须给出抽象类的抽象方法的具体实现,除非该子类也是抽象类.
5.构造方法,类方法(用static修饰的方法)不能声明为抽象方法;
public class person {
public static void main(String[] args) {
YiShuPiny1= new YouHua();
y1.draw();
}
}
abstract class YiShuPin{
public abstract voiddraw();
}
class YouHua extends YiShuPin{
publicvoid draw(){
System.out.println("Youhua.draw()");
}
}
抽象类 关键字 abstract
另外,抽象类中定义抽象方法时,只需要定义一下;就像是函数体在下面时,上面只需要声明一下,因此不需要{};
占楼,支持楼主 没必要,学学C#不香嘛? 谢谢学习了!!! 同重开自学java,一起学习!
支持楼主 支持,不过别光学习,造点轮子出来会更透彻。
页:
[1]