Java  中的继承

继承:

java中的抽象类用法原理:

 /*
当多个类中出现相同功能,但是功能主体不同,
这是可以进行向上抽取。这时,只抽取功能定义,而不抽取功能主体。 抽象:看不懂。 抽象类的特点:
1,抽象方法一定在抽象类中。(因为抽象方法没有具体实现的方法,所以不能用抽象类创建对象,如果在抽象类,那么类的对象调用该方法不具备意义,所以抽象方法在抽象类中,也即满足第三条)。类中有抽象方法,则称这个类为抽象类
2,抽象方法和抽象类都必须被abstract关键字修饰。
3,抽象类不可以用new创建对象。因为调用抽象方法没意义。
4,抽象类中的抽象方法要被使用,必须由子类复写起所有的抽象方法后,建立子类对象调用。
如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类。 抽象类和一般类没有太大的不同。
该如何描述事物,就如何描述事物,只不过,该事物出现了一些看不懂的东西。
这些不确定的部分,也是该事物的功能,需要明确出现。但是无法定义主体。通过抽象方法来表示。
抽象类比一般类多个了抽象函数。就是在类中可以定义抽象方法。
抽象类不可以实例化。 特殊:抽象类中可以不定义抽象方法,这样做仅仅是不让该类建立对象。   包含抽象方法的类称为抽象类,但并不意味着抽象类中只能有抽象方法,它和普通类一样,同样可以拥有成员变量和普通的成员方法。
练习: abstract 关键字,和哪些关键字不能共存。(final private static三种不能同abstract一块用)
final:被final修饰的类不能有子类(不能被继承http://www.cnblogs.com/itcqx/p/5541659.html)。而被abstract修饰的类一定是一个父类(需要被继承才能使用)。所      以不能共存
private: 抽象类中的私有的抽象方法,不被子类所知,就无法被复写。
而抽象方法出现的就是需要被复写。所以不能共存
static:如果static可以修饰抽象方法,那么连对象都省了,直接类名调用就可以了。
可是抽象方法运行没意义。所以不能类名.抽象方法,所以直接不能跟static共存   抽象类中是否有构造函数?
    有,抽象类是一个父类,要给子类提供实例的初始化。所以存在构造函数 */ abstract class Student
{
abstract final void study();
//abstract void study1();
void sleep()
{
System.out.println("躺着");
}
}
/* class ChongCiStudent extends Student
{
void study()
{
System.out.println("chongci study");
}
} class BaseStudent extends Student
{
void study()
{
System.out.println("base study");
}
} class AdvStudent extends Student
{
void study()
{
System.out.println("adv study");
}
}
*/
class AbstractDemo
{
public static void main(String[] args)
{
//new Student();
//new BaseStudent().study();
}
}

最新文章

  1. 转载文章——Hadoop学习
  2. HTML 在安卓手机端软键盘弹出顶起页面布局的解决办法
  3. ajax请求过程中下载文件在火狐下的兼容问题
  4. Android流畅度测试
  5. 如何解决WebkitBrowser使用出错“Failed to initialize activation context”
  6. 学习笔记 - 数据绑定之knockout
  7. linux的shell脚本入门
  8. AES算法简介
  9. WCF---服务发布的步骤
  10. win10 UWP 全屏
  11. gitlab手动安装
  12. 排序—时间复杂度为O(n2)的三种排序算法
  13. C#获取常用的路径
  14. 剑指offer(14)
  15. KVM安装启动虚拟机
  16. 定义 java 基本数据类型
  17. Linux内核设计与实现 第三章
  18. windows安装zabbix监控
  19. 安装程序无法打开注册表项 UNKNOWN\Components\…的简单解决办法(转)
  20. fiddler——一款莱斯的抓包工具

热门文章

  1. 定时自动备份mysql
  2. Asp.net MVC中ReturnUrl的使用
  3. js使用new操作符创建对象
  4. python 编写程序输出50以内勾股数,如下图所示,要求每组显示六祖,各组勾股数无重复
  5. Bulma CSS框架教程
  6. Neo4j--UNIQUE约束
  7. BZOJ:2190: [SDOI2008]仪仗队
  8. Essay写作用对标点符号很重要!
  9. SASS - 简介
  10. C# 遇到的报错:1、试图加载格式不正确、2、线程间操作无效