1. Java的内部类机制
所谓内部类,是指在一个类的内部还有另外一个类的定义. 在Java中,可以在类的内部定义内部类, 也可以在方法内部定义一个类.
对于第一种形式,即类的内部定义一个新类,比较简单,举例如下: view plaincopy to clipboardprint?
class Outer //外部类
{
private String name = "newsainton";
class Inner //内部类
{
//内部类可以调用调用外部类的私有属性name,并打印之.
public void printName()
{
System.out.println("name = "+name);
}
}
//定义一个外部类的方法,调用内部类的方法
public void print()
{
new Inner().printName();
}
}
class OODemo04
{
public static void main(String args[])
{
//先产生一个外部类对象
Outer out = new Outer();
//调用外部类的打印方法
out.print();
}
}
class Outer //外部类
{
private String name = "newsainton";
class Inner //内部类
{
//内部类可以调用调用外部类的私有属性name,并打印之.
public void printName()
{
System.out.println("name = "+name);
}
}
//定义一个外部类的方法,调用内部类的方法
public void print()
{
new Inner().printName();
}
}
class OODemo04
{
public static void main(String args[])
{
//先产生一个外部类对象
Outer out = new Outer();
//调用外部类的打印方法
out.print();
}
}
而对于第二种,在方法体内定义内部类, 有需要注意的地方就是: 在方法体内定义的内部类,可以访问外部类的任意属性,但是不能直接访问方法中的参数变量.
如果需要让内部类访问方法的参数变量,需要在方法参数前加上"final"关键字.
举例如下: view plaincopy to clipboardprint?
class Outer //外部类
{
private String name = "newsainton";
public void fun(final int i)//在方法内定义内部类
{
//若内部类要访问这里的i和j,需要将i&j设置为final
final int j = 10;
class Inner //内部类
{
//内部类可以调用调用外部类的私有属性name,并打印之.
public void printName()
{
System.out.println("name = "+name);
System.out.println("i + j = "+(i+j));
}
}
new Inner().printName();
}
}
class OODemo05
{
public static void main(String args[])
{
//先产生一个外部类对象
Outer out = new Outer();
//调用外部类的打印方法
out.fun(13);
}
}
class Outer //外部类
{
private String name = "newsainton";
public void fun(final int i)//在方法内定义内部类
{
//若内部类要访问这里的i和j,需要将i&j设置为final
final int j = 10;
class Inner //内部类
{
//内部类可以调用调用外部类的私有属性name,并打印之.
public void printName()
{
System.out.println("name = "+name);
System.out.println("i + j = "+(i+j));
}
}
new Inner().printName();
}
}
class OODemo05
{
public static void main(String args[])
{
//先产生一个外部类对象
Outer out = new Outer();
//调用外部类的打印方法
out.fun(13);
}
}
使用内部类的优缺点是:
(1)优点: 使用内部类可以直接访问外部类的私有属性;
(2)缺点: 含有内部类的程序,代码结构不很好.
--------------------------------------------------------------------------------
2. Java的对象数组
对象数组个概念应用几乎与数组一致,不同的是, 对象数组是一组相同类型对象而组成的集合,因此初始化时,对象的默认值是null.
与数组类型一样, 对象数组的声明和初始化采取的是: 类名称[] 对象数组名称 = new 类名称[对象个数] 的方法, 使用方法与数组类似,例如 要取得对象数组的长度也是使用对象数组名称.length O(∩_∩)O~
所谓内部类,是指在一个类的内部还有另外一个类的定义. 在Java中,可以在类的内部定义内部类, 也可以在方法内部定义一个类.
对于第一种形式,即类的内部定义一个新类,比较简单,举例如下: view plaincopy to clipboardprint?
class Outer //外部类
{
private String name = "newsainton";
class Inner //内部类
{
//内部类可以调用调用外部类的私有属性name,并打印之.
public void printName()
{
System.out.println("name = "+name);
}
}
//定义一个外部类的方法,调用内部类的方法
public void print()
{
new Inner().printName();
}
}
class OODemo04
{
public static void main(String args[])
{
//先产生一个外部类对象
Outer out = new Outer();
//调用外部类的打印方法
out.print();
}
}
class Outer //外部类
{
private String name = "newsainton";
class Inner //内部类
{
//内部类可以调用调用外部类的私有属性name,并打印之.
public void printName()
{
System.out.println("name = "+name);
}
}
//定义一个外部类的方法,调用内部类的方法
public void print()
{
new Inner().printName();
}
}
class OODemo04
{
public static void main(String args[])
{
//先产生一个外部类对象
Outer out = new Outer();
//调用外部类的打印方法
out.print();
}
}
而对于第二种,在方法体内定义内部类, 有需要注意的地方就是: 在方法体内定义的内部类,可以访问外部类的任意属性,但是不能直接访问方法中的参数变量.
如果需要让内部类访问方法的参数变量,需要在方法参数前加上"final"关键字.
举例如下: view plaincopy to clipboardprint?
class Outer //外部类
{
private String name = "newsainton";
public void fun(final int i)//在方法内定义内部类
{
//若内部类要访问这里的i和j,需要将i&j设置为final
final int j = 10;
class Inner //内部类
{
//内部类可以调用调用外部类的私有属性name,并打印之.
public void printName()
{
System.out.println("name = "+name);
System.out.println("i + j = "+(i+j));
}
}
new Inner().printName();
}
}
class OODemo05
{
public static void main(String args[])
{
//先产生一个外部类对象
Outer out = new Outer();
//调用外部类的打印方法
out.fun(13);
}
}
class Outer //外部类
{
private String name = "newsainton";
public void fun(final int i)//在方法内定义内部类
{
//若内部类要访问这里的i和j,需要将i&j设置为final
final int j = 10;
class Inner //内部类
{
//内部类可以调用调用外部类的私有属性name,并打印之.
public void printName()
{
System.out.println("name = "+name);
System.out.println("i + j = "+(i+j));
}
}
new Inner().printName();
}
}
class OODemo05
{
public static void main(String args[])
{
//先产生一个外部类对象
Outer out = new Outer();
//调用外部类的打印方法
out.fun(13);
}
}
使用内部类的优缺点是:
(1)优点: 使用内部类可以直接访问外部类的私有属性;
(2)缺点: 含有内部类的程序,代码结构不很好.
--------------------------------------------------------------------------------
2. Java的对象数组
对象数组个概念应用几乎与数组一致,不同的是, 对象数组是一组相同类型对象而组成的集合,因此初始化时,对象的默认值是null.
与数组类型一样, 对象数组的声明和初始化采取的是: 类名称[] 对象数组名称 = new 类名称[对象个数] 的方法, 使用方法与数组类似,例如 要取得对象数组的长度也是使用对象数组名称.length O(∩_∩)O~
发表评论
-
Servlet
2010-08-20 11:28 4951.什么是Servlet? ... -
MyEclipse快捷键
2010-08-20 11:27 521存盘 Ctrl+s(肯定知道) 注释代码 Ctrl+/ 取 ... -
java面试题
2010-08-20 11:26 475第一,谈谈final, finally, finalize的区 ... -
Java学习笔记---16.面向对象编程11-Java多态性,instanceof及Object类
2010-08-20 11:26 690多态是一个之前一直搞不清楚的概念,通过这次笔记,对多态的概念及 ... -
Java学习笔记---15.面向对象编程10-Java中final关键字,抽象类与接口
2010-08-20 11:24 936抽象类与接口是Java中最重要部分之一,这里用较大的篇幅来做下 ... -
Java学习笔记---14.面向对象编程09-Java中重载与复写的区别、super与this的比较
2010-08-20 11:22 8211. 方法重载与方法复写的区别 区别 ... -
Java学习笔记---13.面向对象编程08-Java中继承的概念,子类实例化过程,super()及方法复写
2010-08-20 11:12 1001继承是OOP的三大特点之一. 这一节主要做一下继承的笔记. ... -
Java学习笔记---12.面向对象编程07-Java中的static关键字用法
2010-08-20 11:08 852static关键字应用点有3个: static变量(属性)的声 ... -
java学习笔记---10.面向对象编程05-面向对象程序的设计步骤
2010-08-20 11:03 771这一部分需要注意一个原则, 熟练掌握OOP的程序设计方法. ... -
Java学习笔记---9.面向对象编程04-this关键字的使用
2010-08-20 11:00 729Java学习笔记---9.面向对象编程04-this关键字的使 ... -
Java学习笔记---8.面向对象编程03-String类的重点应用
2010-08-20 10:59 694在String类这一部分很重要,分为三个问题来做笔 ... -
Java学习笔记---7.面向对象编程02-类的封装性以及构造方法
2010-08-20 10:57 7921. 类的封装特性: 类的封装性是指类 ... -
Java学习笔记---6.面向对象编程01-类对象的构建及对象的引用传递
2010-08-20 10:54 667Java学习笔记---6.面向对象编程01-类对象的构建及对象 ... -
Java学习笔记---5.Java数组和方法
2010-08-20 10:53 7151. 数组的声明语法 Java中数组的声明有两种形 ... -
Java学习笔记---4.Java的分支循环语句
2010-08-20 10:51 690switch的使用如下例: view plain ... -
Java学习笔记---3.运算符与表达式
2010-08-20 10:49 679这一部分需要再强调的东西不多,因为运算符表达式都是平时最常用的 ... -
Java学习笔记---2.Java标识符和基本数据类型
2010-08-20 10:48 929这一块里面,标识符比较简单,没有什么需要记录的东西. ... -
Java学习笔记---1.Java发展及JDK配置
2010-08-20 10:47 768Java的老东家是Sun公司(Sun的全名,Stanford ...
相关推荐
6.1. 面向对象与面向过程 6-11 6.2. 对象的概念 6-12 6.3. 成员变量和局部变量 6-12 6.4. 成员方法 6-12 6.5. This关键字 6-13 6.6. 访问控制符 6-13 6.7. 构造方法 6-13 6.8. 数据和方法的隐藏―――封装 6-14 6.9....
Core Java学习笔记...........31 第一章 JAVA前言..31 第二章 标识符,关键字,类型........35 第三章 表达式与流控制....................41 第四章 数组.............50 第五章 对象和类(OO思想).........53 第...
Java学习笔记 1 命令行运行 1 Java基础 1 注释 1 单行注释 1 多行注释 1 文档注释 1 标识符和关键字 2 数据类型 4 类型转换 7 变量 9 基本运算符 10 包机制 12 Javadoc 12 使用命令行生成 12 使用idea生成 12 Java...
{2.1.3}面向对象的编程}{47}{subsection.2.1.3} {2.2}继承}{48}{section.2.2} {2.2.1}super(), this()}{49}{subsection.2.2.1} {2.2.2}方法重写/覆盖}{50}{subsection.2.2.2} {2.3}修饰符}{51}{section.2.3} ...
Core Java学习笔记...........31 第一章 JAVA前言..31 第二章 标识符,关键字,类型........35 第三章 表达式与流控制....................41 第四章 数组.............50 第五章 对象和类(OO思想).........53 第...
面向对象 16 3.1类 16 3.2对象 16 3.3包 16 3.4方法及其调用 17 3.5引用 17 3.6访问控制(封装) 17 3.7构造器 17 3.8 super()、super.和 this()、this. 18 3.9重载和重写 19 3.10继承 20 3.11 static 23 3.12 ...
000000_【课程介绍 —— 写在前面的话】_Java学习概述笔记.pdf 010101_【第1章:JAVA概述及开发环境搭建】_JAVA发展概述笔记.pdf 010102_【第1章:JAVA概述及开发环境搭建】_Java开发环境搭建笔记.pdf 010201_【第2...
因此,我们可以使用该工具来快速...疯狂Java讲义笔记汇总 目录 一、基础类型 二、流程控制与数组 三、面向对象 四、基础类库 五、集合 六、泛型 七、异常 八、数据库 九、注释 十、输入输出 十一、网络 十二、类加载机制
CoreJava DAY11 内部类 70 CoreJava DAY12 集合 List 78 CoreJava DAY13 集合 Set 85 CoreJava DAY14 集合 Map 92 CoreJava DAY15 异常、断言 98 CoreJava DAY16 反射、注释 108 CoreJava DAY17 GUI 120 CoreJava ...
第一章:编程基础 3-11 第二章:数组 11 -31 第三章:面向对象程序开发 31 -74 第四章:异常机制 74 -89 第五章:多线程技术 89 -122122122 第六章:常用类 API 122API 122 API 122API 122API 122API 122API 122-...
面向对象编程 初识面向对象 面向过程 &面向对象 什么是面向对象 方法回顾和加深 对象的创建分析 类与对象的关系 创建与初始化对象 小结 对象的内存分析 小结 1、类与对象 2、方法 3、对象的引用 4、属性:字段Field ...
6、JavaSE:面向对象.pdf 7、JavaSE:异常机制.pdf 8、JavaSE:常用类.pdf 9、JavaSE:集合框架.pdf 10、JavaSE:IO流.pdf 11、JavaSE:多线程.pdf 12、JavaSE:网络编程.pdf 13、JavaSE:Gui编程.pdf 14、...
2、面向对象:最终是面向接口编程的,封装、继承、多态、设计模式、异常、包 3、JAVA应用开发部分:JAVA类集、JAVA IO、JDBC; 概念和原理方面:线程、类库API(文档)、泛型、枚举、注解、反射、网络等 JAVA中最大...
文档包含for/while/do-while、方法、方法重载、数组、面向对象、单例、重写、多态、抽象类、内部类、异常、String、八大基本数据类型、日期、集合、文件、多线程、网络编程、反射等基础讲解笔记。
C#学习笔记(2)【大 中 小】【打印】【加入收藏】【关闭】 【收藏到新浪ViVi】【收藏到365KEY】 浏览字号:日期:2004-07-11 人气:8092 出处: write by cash(天下第七) 2002.01.20 版权所有,翻录不究 cashcao@...
java初学者的学习笔记,很详细。 目录 0 第一节 7月15日 2 一、 IT行业相关介绍 2 二、C、C++和Java语言的比较 2 三、 JDK基础介绍 2 四、 面向对象与面向过程的比较 2 五、 Java相关介绍 2 六、 Path和Classpath...
34.面向对象的语言具有________性、_________性、________性 答:封装、继承、多态。 35.能用foreach遍历访问的对象需要实现 ________________接口或声明________________方法的类型。 答:IEnumerable 、 ...
本套笔记循循渐进,适合初入计算机行业的小白,从Java概述到语法,再到循环,数组,方法,面向对象,继承,多态,内部类,集合,异常,IO流,多线程,网络编程,Lambda表达式,最后是类加载器,反射,模块化。...
、、基本概念、面向对象、基本数据类型与运算、字符串与数组、异常处理、Object 通用方法 数据结构 & 源码分析:ArrayList、Vector、LinkedList、HashMap、ConcurrentHashMap、HashSet、LinkedHashSet and ...
oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...