5.JAVA-内部类实例
在JAVA中,类内部可以添加其它类,当然也可以实现类继承(后续章节学习).
本章示例-实现部门类和雇员类
- 可以通过部门对象,查找该部门的雇员信息.
- 可以通过雇员对象,查找该雇员所在的部门信息
代码如下:
/*
* 部门类
*/
class Department
{
private int DepNo; //部门编号
private String DepName; //部门名称
private String DepLoc; //部门位置
private Employee[] emps; //部门的人数 public Department(int DepNo,String DepName,String DepLoc)
{
this.DepNo = DepNo;
this.DepName = DepName;
this.DepLoc = DepLoc;
} public void setEmps(Employee[] emps)
{
this.emps = emps;
}
public Employee[] getEmps()
{
return this.emps;
}
public String getDepName()
{
return this.DepName;
}
public String getInfo()
{
String ret = "部门编号:"+ DepNo + " 名称:"+ DepName + " 位置:"+ DepLoc + " 部门人数:"+ emps.length +"\r\n" ; for(int i=0;i<emps.length;i++)
ret += "雇员:"+ emps[i].getEmpName() + " 编号:"+ emps[i].getEmpNo() +" 薪水:"+ emps[i].getEmpSalry() +"\r\n";
return ret;
} } /*
* 雇员类
*/
class Employee
{
private int EmpNo; //雇员编号
private String EmpName; //雇员名称
private int EmpSalry; //雇员薪水
private Department dep; //雇员所在的部门 public Employee(int EmpNo,String EmpName,int EmpSalry,Department dep)
{
this.EmpNo = EmpNo;
this.EmpName = EmpName;
this.EmpSalry = EmpSalry;
this.dep = dep; } public int getEmpNo()
{
return this.EmpNo;
}
public String getEmpName()
{
return this.EmpName ;
}
public int getEmpSalry()
{
return this.EmpSalry ;
} public Department getDep()
{
return this.dep ;
} public String getInfo()
{
return "雇员编号:"+ EmpNo + " 名称:"+ EmpName + " 所属部门:"+ dep.getDepName() + " 薪水:"+ EmpSalry;
}
} public class Test{
public static void main(String args[]){ //先有部门,再有雇员,所以Department构造方法里,是没有雇员的
Department dep = new Department(7,"销售部","成都");
//先有部门,再有雇员,所以Employee构造方法里,是有部门信息的
Employee emp1 = new Employee(7760,"小张",2700,dep);
Employee emp2 = new Employee(7761,"小李",3300,dep);
Employee emp3 = new Employee(7762,"小王",4200,dep); dep.setEmps(new Employee[]{emp1,emp2,emp3});
System.out.println( dep.getInfo() );
}
}
运行打印:

下章学习:6.JAVA-链表实例
5.JAVA-内部类实例的更多相关文章
- 黑马----JAVA内部类
黑马程序员:Java培训.Android培训.iOS培训..Net培训 黑马程序员--JAVA内部类 一.内部类分为显式内部类和匿名内部类. 二.显式内部类 1.即显式声明的内部类,它有类名. 2.显 ...
- java 内部类 *** 最爱那水货
注: 转载于http://blog.csdn.net/jiangxinyu/article/details/8177326 Java语言允许在类中再定义类,这种在其它类内部定义的类就叫内部类.内部类又 ...
- java内部类以及匿名类
内部类 一个类内部定义的类称为内部类. 内部类允许把逻辑相关的类组织在一起,并控制内部代码的可视性. 内部类与外部类的结构层次如下. 顶层类:最外层的类 外部类:内部类所在的类 内部类:类内部定义的类 ...
- 9)Java内部类(Inner Class)
内部类:不可以有静态数据,静态方法或者又一个静态内部类 内部类的优点:隐藏类的细节,内部类可以声明为私有.内部类可以访问外部类的对象(包括private) 静态内部类:可以有静态数据,静 ...
- JAVA内部类(转)
源出处:JAVA内部类 在java语言中,有一种类叫做内部类(inner class),也称为嵌入类(nested class),它是定义在其他类的内部.内部类作为其外部类的一个成员,与其他成员一样, ...
- 【JAVA】浅谈java内部类
一.什么是内部类? 到底什么是内部类呢?通俗的讲,就是在类内部定义的类,包括定义在一个类的方法外面.方法里面或者代码块中. 二.为什么要使用内部类? 为什么我们要不走寻常路,把一个类定义在另一个类的内 ...
- java内部类实现多继承
class Example1 { public String name() { return "liutao"; } } class Example2 { public int a ...
- Java内部类的使用小结
转载:http://android.blog.51cto.com/268543/384844/ Java内部类的使用小结 内部类是指在一个外部类的内部再定义一个类.类名不需要和文件夹相同. *内部类可 ...
- java 内部类(摘抄自网络)
Java内部类 1.内部类分为成员内部类.静态嵌套类.方法内部类.匿名内部类. 几种内部类的共性: A.内部类仍然是一个独立的类,在编译之后会内部类会被编译成独立的.class文件,但是前面冠以外部类 ...
- 【转】Java 内部类种类及使用解析
Java 内部类种类及使用解析 内部类Inner Class 将相关的类组织在一起,从而降低了命名空间的混乱. 一个内部类可以定义在另一个类里,可以定义在函数里,甚至可以作为一个表达式的一部分. Ja ...
随机推荐
- 微信授权、获取用户openid-纯前端实现——jsonp跨域访问返回json数据会报错的纯前端解决办法
近来,倒霉的后台跟我说让我拿个openid做微信支付使用,寻思很简单,开始干活. 首先引导用户打开如下链接,只需要将appid修改为自己的就可以,redirect_url写你的重定向url https ...
- JavaScript的数组知识案例之随机点名器
本次分享JavaScript主要知识点涉及到for循环.if选择结构判断语句.数组的定义.定时器.清除定时器.日期对象的使用. 执行后效果图: 思路: 1.网页结构搭建: HTML 2.网页布局美化: ...
- echarts3 迁徙图 迁入迁出
geoCoordMap = { '上海': [121.4648,31.2891], '佛山': [112.8955,23.1097], '保定': [115.0488,39.0948], '兰州': ...
- debain 安装nodejs
apt-get update -yapt-get install -y build-essential curl curl -sL https://deb.nodesource.com/setup_8 ...
- 对于Javascript 执行上下文的理解
转载无源头地址 在这篇文章中,将比较深入地阐述下执行上下文 – JavaScript中最基础也是最重要的一个概念.相信读完这篇文章后,你就会明白javascript引擎内部在执行代码以前到底做了些什么 ...
- Fastjson 专题
JSONObject.toJSONString(Object object, SerializerFeature... features) SerializerFeature有用的一些枚举值 Quot ...
- CSS简写总结
CSS简写就是指将多行的CSS属性简写成一行,又称为CSS代码优化或CSS缩写.CSS 简写的最大好处就是能够显著减少CSS文件的大小,优化网站整体性能,更加容易阅读. 下面介绍常见的CSS简写规则: ...
- Intellij IDEA 安装lombok及使用详解
项目中经常使用bean,entity等类,绝大部分数据类类中都需要get.set.toString.equals和hashCode方法,虽然eclipse和idea开发环境下都有自动生成的快捷方式,但 ...
- Java Script 读书笔记 (四) 面向对象编程
1. 对象,属性 前面看到对象里删除属性一直疑惑,什么是对象,为什么属性可以删除, 我印象里的属性还是停留在property, 总想不明白为什么属性竟然能够删除.直到看到标准库才明白,原来对象就是py ...
- Java 读书笔记 (五) 目标数据类型转换
数据类型转换必须满足如下规则: 不能对boolean类型进行类型转换 不能把对象类型转换成不相关类的对象 //那不同类的对象可以用同一个名字命名吗?根据作用域原则,可以吧? 把容量大的转换为容量小的 ...