Java课程笔记_4

1 内部类——在一个类中定义另一个类,当建立一个inner class时,其对象拥有与外部对象之间的一种关系,通过this.referance形成,使得内部类可以访问外部类中所有的成员。

2 在内部类的方法中访问局部变量直接引用,访问Inner类的成员变量,用this.x,访问外部类M的成员变量,用M.this.x。

3 在方法中定义的内部类,如果要访问方法中定义的本地变量或方法的参数,则变量必须被声明final。内部类可以声明为private或protected,还可以被声明为abstract或final。

4 内部类可以声明为static的,但此时就不能使用外部类的非static的成员变量和非static的成员方法。

class Outer
{
  private int index = 100; 定义外部类数据成员
   class Inner
   {...}
   Inner getInner()
   {
       return new Inner();\\产生一个Inner类对象
   }
  public static void main(String []args)
  {
  Outer outer = new Outer();
  Inner inner = outer.getInner(); 产生一个outer对象后,利用该对象调用getInner()函数,产生一个  Inner类对象
  inner.print();
  }
}
class Test
{
  public static void main(String []args)
  {
  Outer outer = new Outer();
  Outer.Inner inner = outer.new Inner();\\和外部类对象outer相关联,才能创建内部对象
  }
}

5 非static的内部类中的成员不能声明static成员,只有在顶层类或static的内部类中才可声明static成员。

Java课程笔记_4

时间: 2024-08-29 14:58:29

Java课程笔记_4的相关文章

JAVA课程笔记_1

一 课程内容 set path查看路径信息:当编译一个程序或命令时,先从当前目录查找,如果没有,按path中的路径按顺序查找,先找到后就不查找后面的路径了. 可以将目录加入环境变量,set path="复制的路径" 可以在.java程序中编写多个类,当编译时,每个类生成各自的字节码文件. 由于多个类的字节码文件不利于管理,使用bin目录下的jar命令可以将多个字节码文件打包成jar包发布给其他程序员使用. 使用方法:先在命令提示符下输入jar,会出现使用方法和实例.Jar打包两个cla

Java课程笔记_3

一 课程内容 1 对于包名是cn.mybole的类Test,在当前目录下生成包javac –d . Test.java,在指定目录下生成包javac –d e:/ Test.java,将会自动在e盘创建新文件夹cn,下一级目录是mybole,再下一级是Test.java.解释时如果刚才是在指定目录下生成包的在set classpath中一定要设置到最上层包名所对应的目录(本例是e:/),然后用java cn.mybole.Test执行程序. 2  import java.io.File ;引入包

Java课程笔记 — Eclipse 快捷键

ctrl+d: delete current line ctrl+/: comment/uncomment current line ctrl+k: find next selected key ctrl+shift+k: find previous selected key ctrl+space: content assitant(may conflict with some input methods, but can be customized). It can be replaced b

java学习笔记8--接口总结

接着前面的学习: java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对象的初始化与回收 java学习笔记3--类与对象的基础 java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址:http://www.cnblogs.com/archimedes/p/java-study-note8.html,转载请注明源地址. 生活中的接口: 什么是接口? 一个Java接口是一些方法特

跟我学《JavaScript高程3》第三讲,课程笔记

跟我学<JavaScript高程3> 第三讲:第4章 课程制作:bling,兴哥,5年Java,3年前端 课程知识:JavaScript.Html.Css 课程目标:前端体系课程,逐步深入,找到一份前端工作    课程大纲:本书目录结构 适合人群:前端初学者,可以0基础,但要认真,踏实 课程回顾 1.数据类型:5种基本类型,1中复杂类型. 2.操作符:需要注意运算优先级,算关逻条赋逗. 3.语句:if-else.for.for-in.while 4.函数:函数定义,目前的两种方法 补充:变量在

跟我学《JavaScript高程3》第一讲,课程笔记

跟我学<JavaScript高程3> 第一讲:第1~3章 课程制作:bling,兴哥,5年Java,3年前端 课程知识:JavaScript.Html.Css 课程目标:前端体系课程,逐步深入,找到一份前端工作    课程大纲:本书目录结构 适合人群:前端初学者,可以0基础,但要认真,踏实 回答几个问题 1.为什么要学习前端?JavaScript有哪些用处?为什么要讲这本书? 移动互联网是未来的趋势,移动设备H5开发带动了前端趋势,今后App基本都是Native+H5实现. 页面效果,数据交互

跟我学《JavaScript高程3》 第二讲,课程笔记

跟我学<JavaScript高程3> 第二讲:第3章 课程制作:bling,兴哥,5年Java,3年前端 课程知识:JavaScript.Html.Css 课程目标:前端体系课程,逐步深入,找到一份前端工作 课程大纲:本书目录结构 适合人群:前端初学者,可以0基础,但要认真,踏实 课程回顾 1.静态项目基本结构:html.css.js.images 2.文件的方式引入一个JavaScript脚本文件:引入方式.引入路径 3.变量编写Hello,world:变量的定义,使用变量. 补充:变量在讲

Java系列笔记(1) - Java 类加载与初始化

目录 类加载器 动态加载 链接 初始化 示例 类加载器 在了解Java的机制之前,需要先了解类在JVM(Java虚拟机)中是如何加载的,这对后面理解java其它机制将有重要作用. 每个类编译后产生一个Class对象,存储在.class文件中,JVM使用类加载器(Class Loader)来加载类的字节码文件(.class),类加载器实质上是一条类加载器链,一般的,我们只会用到一个原生的类加载器,它只加载Java API等可信类,通常只是在本地磁盘中加载,这些类一般就够我们使用了.如果我们需要从远

老白的JAVA课程14 GUI 窗口的设置

项目驱动 需求分析-系统设计-编码-测试-维护期 GUI Swing程序的建立步骤 1.建立容器-可以容纳其他图形对象的类,容器中还可以添加容器 2.建立组件-组件就是一套图形对象 3.将组件放到容器当中-将创建好的对象添加到容器中,才能在窗口中显示 4.设置布局 JFrame:带有标题和边框的顶级窗口 JPanel:就是一个矩形的区域,其中可以包含图形组件,也可以包含其他JPanel JApplet:在浏览器中运行的容器 JScrollpane:一种可以实现水平或垂直滚动条的容器 JDiolo