一、基础概念

  (一)继承的好处:

     1.继承:提高了代码的复用性。

     2.让类与类之间产生了关系,给多态这个特征提供了前提。

  (二)继承的种类:

     1.单继承:一个类只能有一个父类。

     2.多继承:一个类可以有多个父类。

        3.java支持单继承,不直接支持多继承。(因为多继承调用的不稳定性)

  (三)继承使用时候:

     1.当事物之间存在着所属关系时。可以通过继承来体现这个关系。

      如:XXX是YYY的一种。XXX extends YYY

     2.父类中私有的部分,子类对象是无法直接访问的。子类对象通过setXXX和getXXX进行访问。

二、实例代码

 //将student类和worker类共享的代码抽取到Person类中,形成一个父类Person。
class Person
{
//父类中私有的部分,子类对象通过setXXX和getXXX进行访问。
private String name;
int age; public void setName(String name)
{
this.name = name;
}
public String getName()
{
return this.name;
}
void sleep()
{
System.out.println("Name: "+name+",age: "+age+" sleep ......");
}
} //student类继承了Person类的属性和方法(通过关键字extends继承)
class Student extends Person
{
//可以拥有自己的方法study
void study()
{
System.out.println("name: "+this.getName()+",age: "+age+" study ......");
}
} //worker类继承了Person类的属性和方法
class Worker extends Person
{
//可以拥有自己的方法work
void work()
{
System.out.println("name: "+this.getName()+",age: "+age+" work ......");
}
}
class ExtendsDemo
{
public static void main(String[] args)
{
//创建一个实例p,赋给name和age,并输出sleep方法和study方法。
Student p = new Student();
p.setName("xiaoming");
p.age = ;
p.sleep();
p.study();
//创建一个实例s,赋给name和age,并输出sleep方法和work方法。
Worker s = new Worker();
s.setName("laoli");
s.age = ;
s.sleep();
s.work();
}
}

三、代码运行

  

最新文章

  1. Ehcache 缓存使用
  2. spring的显示装配bean(1)------通过XML文件装配
  3. ListView——android菜鸟成长之路
  4. 制作图片边框:《CSS3 Border-image》
  5. 18 多线程编程 - 《Python 核心编程》
  6. 【Linux/Ubuntu学习4】ubuntu 下面安装 vim 的问题
  7. C中宏展开问题
  8. spring beans源码解读之--bean definiton解析器
  9. 1. Git 克隆代码
  10. Cloud Engine
  11. 漫谈并发编程(六):java中一些经常使用的并发构件的介绍
  12. 正则表达式协助实现排序&&邮箱验证
  13. tomcat流程原理解析
  14. Windows 配置 allure report 环境
  15. python转义字符——重点解释:\b,\n和\r区别
  16. Vue H5 项目模板
  17. JVM相关知识
  18. xshell的优化和连接
  19. libsvm参数说明[zz]
  20. 关于Unity中网格导航与寻路

热门文章

  1. Vertrigo Serv + testlink 环境搭建
  2. Elasticsearch之插件介绍及安装
  3. windows下安装ubuntu 12.04---利用ubuntu的iso包中的wubi.exe工具安装
  4. Timer的定义及demo
  5. Perl 变量:标量变量、数组变量、哈希变量和变量上下文
  6. 【项目运行异常】BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
  7. SQL SERVER 2008权限配置
  8. SqlDataAdapter 批量更新数据库表
  9. 性能优化之_android多线程
  10. 二项分布 , 多项分布, 以及与之对应的beta分布和狄利克雷分布