博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java——内部类
阅读量:3966 次
发布时间:2019-05-24

本文共 1676 字,大约阅读时间需要 5 分钟。

Java——内部类


本人是个新手,写下博客用于自我复习、自我总结。

如有错误之处,请各位大佬指出。
参考教材:零基础学Java


内部类就是在一个类的内部再创建一个类。  内部类的好处: 1)内部类的对象能够访问创建它的对象的所有方法和属性,包括私有数据 2)对于同一个包中的其他类来说,内部类是隐形的。 3)匿名内部类可以很方便地定义回调。 4)使用内部类可以很方便地编写事件驱动的程序。  内部类存在的目的: 1)可以让程序设计中逻辑上相关的类结合在一起。 2)内部类可以直接访问外部类的成员。	 之前说过作为一个单独的类,只能用public和default,	 但是作为内部类就可以使用private。当内部类设置为private时,	 包含此内部类的外部类的方法才可以访问它,如该例。	 	 也可以把内部类放在外部类的方法里,叫做局部内部类。	 局部内部类前不加修饰符public和private。	 局部内部类不仅可以访问外部类实例变量,还可以访问	 外部类的局部常量,但要求外部类的局部变量是final的。
public class Inner {
private String name; private String code; private String sexy; private String birthday; //通过设置器来设置各个参数 public void setname(String name) {
this.name=name; } public void setcode(String code) {
this.code=code; } public void setsexy(String sexy) {
this.sexy=sexy; } public void setbirthday(String birthday) {
this.birthday=birthday; } //通过访问器来获得对象的参数 public String getname() {
return name; } public String getcode() {
return code; } public String getsexy() {
return sexy; } public String getbirthday() {
return birthday; } //通过tostring方法来让对象以字符串形式输出 public String tostring(){
String infor="学生姓名:"+ name+" 学号:"+code+" 性别:"+sexy+ " 出生年月:"+birthday; return infor; } public void setstudentcourse(String[] courses){
//设置学生课程方法,创建内部类对象 new course(courses); } //内部类的创建,把内部类作为外部类的一个成员 private class course{
private String[] courses; private int coursenum; //内部类的构造器 public course(String[] course){
courses=course; coursenum=course.length; getinfo(); //调用方法getinfo() } //获得课程数组中的课程 private void get(){
for(int i=0;i

转载地址:http://gtyki.baihongyu.com/

你可能感兴趣的文章
Diagnosing DFC Configuration Problems
查看>>
jboss java.lang.NoClassDefFoundError: Could not initialize class com.documentum.fc.client.DfClient
查看>>
随笔9
查看>>
Java~今日学习各种锁策略(乐观锁 悲观锁 读写锁等等)、CAS机制和synchronize的原理及其优化机制(锁消除 偏向锁 自旋锁 膨胀锁 锁粗化)
查看>>
动态规划(二)三角矩阵(Triangle)、路径总数(Unique Paths)、路径总数2(Unique Paths II)、最小路径和(Minimum Path Sum)
查看>>
动态规划(三)背包问题、回文串分割(Palindrome Partitioning)、编辑距离(Edit Distance)、不同子序列(Distinct Subsequences)
查看>>
Java~在使用isAlive时, 将线程对象已构造参数的形式传递给Thread对象时进行start启动时, 使用this和Thread.currentThread的差异
查看>>
Java~使用synchronized修饰静态方法带来的问题 与 同步synchronized代码块不使用String作为锁对象的原因
查看>>
Java~util包中Timer的使用, 演示cancel方法 和 对比schedule和scheduleAtFixedRate方法
查看>>
Java~并发容器ConcurrentHashMap、ConcurrentLinkedQueue、阻塞队列BlockingQueue的实现原理与使用
查看>>
Java~并发流程控制的手段CountDownLatch、CyclicBarrier、Semaphore和Exchanger工具类的学习和使用
查看>>
Java~学习Executor框架, 了解ThreadPoolExecutor和ScheduledThreadPoolExecutor
查看>>
Java~在maven项目中添加junit依赖实现单元测试(@After、@Before 、@Ignore、@Test)的使用
查看>>
selenium~使用unittest测试框架,批量执行测试脚本,addTest、makeSuite、TestLoader、discover的使用
查看>>
Spring~Bean的作用域(单例模式、原型模式)等, Bean的自动装配方法, @AutoWired和@Resource的区别
查看>>
Spring~使用注解配置开发(@Component、@Repository、@Service、@Controller)和使用JavaConfig实现配置开发
查看>>
Spring~使用Mybatis-Spring包将MyBatis与Spring整合(俩种方式实现), 解决静态资源不导入问题
查看>>
MyBatis~配置解析, 属性(properties)、设置(settings)、类型别名(typeAliases)、环境配置(environments)、映射器(mappers)
查看>>
MyBatis~使用万能的ResultMap解决属性名和字段名不一致问题,实现分页查询 | 使用注解实现简单的CRUD(注意@Param的使用)
查看>>
MyBatis~关联的嵌套Select查询和关联的嵌套结果映射(association元素的使用)、集合的嵌套Select查询和集合的嵌套结果映射(collection的使用)
查看>>