Java面向对象之继承extends 入门实例
2024-09-05 00:39:56
一、基础概念
(一)继承的好处:
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();
}
}
三、代码运行
最新文章
- Ehcache 缓存使用
- spring的显示装配bean(1)------通过XML文件装配
- ListView——android菜鸟成长之路
- 制作图片边框:《CSS3 Border-image》
- 18 多线程编程 - 《Python 核心编程》
- 【Linux/Ubuntu学习4】ubuntu 下面安装 vim 的问题
- C中宏展开问题
- spring beans源码解读之--bean definiton解析器
- 1. Git 克隆代码
- Cloud Engine
- 漫谈并发编程(六):java中一些经常使用的并发构件的介绍
- 正则表达式协助实现排序&;&;邮箱验证
- tomcat流程原理解析
- Windows 配置 allure report 环境
- python转义字符——重点解释:\b,\n和\r区别
- Vue H5 项目模板
- JVM相关知识
- xshell的优化和连接
- libsvm参数说明[zz]
- 关于Unity中网格导航与寻路
热门文章
- Vertrigo Serv + testlink 环境搭建
- Elasticsearch之插件介绍及安装
- windows下安装ubuntu 12.04---利用ubuntu的iso包中的wubi.exe工具安装
- Timer的定义及demo
- Perl 变量:标量变量、数组变量、哈希变量和变量上下文
- 【项目运行异常】BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
- SQL SERVER 2008权限配置
- SqlDataAdapter 批量更新数据库表
- 性能优化之_android多线程
- 二项分布 , 多项分布, 以及与之对应的beta分布和狄利克雷分布