JAVA基础(Java内部类应用实践).docx

上传人:cn****1 文档编号:560032661 上传时间:2023-05-12 格式:DOCX 页数:7 大小:13.29KB
返回 下载 相关 举报
JAVA基础(Java内部类应用实践).docx_第1页
第1页 / 共7页
JAVA基础(Java内部类应用实践).docx_第2页
第2页 / 共7页
JAVA基础(Java内部类应用实践).docx_第3页
第3页 / 共7页
JAVA基础(Java内部类应用实践).docx_第4页
第4页 / 共7页
JAVA基础(Java内部类应用实践).docx_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《JAVA基础(Java内部类应用实践).docx》由会员分享,可在线阅读,更多相关《JAVA基础(Java内部类应用实践).docx(7页珍藏版)》请在金锄头文库上搜索。

1、 JAVA基础(Java内部类应用实践)使用Container来命名inner class外部的class,以区分该Java文件以外的class,感觉这样更贴切。package com.sss.exam.inner;public class Container1 private class PrivateParams/私有是针对外部其他类的访问是私有的。即外部的其他类不能访问public int id ;public String name;public class PublicParamspublic int id ;public String name;/*Examda提示: 本方法可以访

2、问私有内部类* */public void testParams()PrivateParams params = new PrivateParams();params.id = 1;params.name = “sss“;/* param args*/public static void main(String args) Container1 out = new Container1();/Container1可以访问public内部类和private内部类PublicParams pp = out.new PublicParams();pp.id = 2;pp.name = “sss2“;

3、PrivateParams params = out.new PrivateParams();params.id = 3;pp.name = “sss3“;其他类访问:public class JustTest public static void main(String args) Container1 out = new Container1();/Container1可以访问public内部类和private内部类PublicParams pp = out.new PublicParams();/compile error .不能访问私有内部类PrivateParams params =

4、 out.new PrivateParams();其次种和第三种应用,考试大认为差异不大,可以理解为一种状况,不过是解决不同的问题罢了。package com.sss.exam.inner;* 同一个类里面定义非public的类,不能加final abstract 之外的modifier* 其modifier 值为0,不在Modifier的定义里面。有人称之为friendly修饰符*这里的User跟单独写一个User类的区分仅仅在于modifier.编译出来的class都是单独存在的。*/class Userint id;String name;public class Container2

5、private User user = null;/一个对象是可以这样的,解决了try catch的问题。/但是假如是一个String,则不行,问题就在Java的传值和传引用的问题。String相当于就是传值的。/* param args*/public static void main(String args) /*背景:catch和finally都一样,只是try局部不同* 传统方法:每次都需要写try,catch,finally*/*String user = null;tryuser = “fbysss“;catch(Exception e)user = “error.“;finall

6、yuser += “”s work finished.“;*/Container2A c2a = new Container2A();c2a.newMethod();/使用了内部类的调用方法:public void newMethod()Container2Common c2c = new Container2Common();c2c.execute(new BaseMyMethod()public User doMyMethod()/必需要有返回值,否则通用处理方法得不到user/error.无法访问user变量,必需声明为成员变量,user = “fbysss“;user = new Us

7、er();user.name = “fbysss“;System.out.println(user.name);return user;);System.out.println(“old user is:“+user.name);公共处理类:public class Container2Common public void execute(MyMethod mm)User user = null;try/通用接口方法,但是详细代码不一样user = mm.doMyMethod();catch(Exception e)user.name = “error.“;finallyuser.name += “”s work finished.“;System.out.println(user.name);共性方法接口:public interface MyMethod public User doMyMethod();共性stub类,目的是能够实例化,由于接口是不能实例化的。public class BaseMyMethod implements MyMethod public User doMyMethod() / TODO Auto-generated method stubreturn null;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号