java内部类 和外嵌类
来源:互联网 发布:淘宝店铺活动策划 编辑:程序博客网 时间:2024/05/21 03:17
/* day in 2015 10 08 night @damon 关于内部类的理解 :java 中支持在一个类中定义内部类,而类本身称为外嵌类 内部类的外嵌类的变量在内部类仍然有效,内部类的类中的方法 也可以调用外部类中的方法。 内部类中不能傻声明类变量和类方法,外嵌类中可以用内部类声明对象 作为外嵌类的成员 内部类仅仅作为外嵌类使用,其他的类不能用某个类来声明对象*///下面将做一个书上的例子做为理解//class RedCowclass RedCowOut//外嵌类{ static String formName;//static 静态变量 RedCow cow;//内部类声明对象 RedCowOut()//构造函数的声明 { //无内容 } RedCowOut(String s)//带参数的构造函数,进行初始化 { cow = new RedCow(150,122,5000);//初始化体长和价格 formName = s;//向构造函数传入初始化用的类属性 } void showCow()//声明一个显示信息的函数 用来将信息输出 { //外嵌类可以 用内部类声明对象,然后用对象 调用 内部类中的方法 cow.speack();//直接调用内部类中的输出信息的方法 } class RedCow//声明外类 { //定义属性file String cowName = "reddada";//初始化 //声明体长 价格 int height,weight,price; RedCow(int h,int w,int p)//构造函数的声明 { height = h;//通过构造函数传入值 进行函数的初始化 weight = w; price = p; } void speack() { System.out.println("name "+" "+cowName+"height"+" "+height+"weight"+weight+" address "+formName); } }//内部类 结束}//外部类结束public class test1{ public static void main(String[] args) { RedCowOut dada = new RedCowOut("图书馆");//传入初始化用的参数 //dada.showCow();//直接调用外嵌类中的显示函数 封装调用 //另一种调用方式 dada.cow.speack();//直接调用 外嵌类中声明的内部类的对象 然后再调用 内部类的方法 System.out.println("Hello World!"); }}
值得注意的是java编译器生成内部类的字节码文件的名字和通常类的类不同,内部类对应的字节码文件格式是:“外嵌类$内部类”。
内部类可以被修饰为static内部类。
0 0
- java内部类 和外嵌类
- java 内部类 和 匿名内部类
- java 内部类和匿名内部类
- java内部类和匿名内部类
- java 内部类和匿名内部类
- java 内部类和匿名内部类
- java内部类和静态内部类
- Java内部类和匿名内部类
- Java 内部类(成员内部类、局部内部类、静态内部类和匿名内部类)
- Java静态内部类、匿名内部类、成员式内部类和局部内部类
- java成员内部类、局部内部类、静态内部类和匿名内部类
- Java静态内部类、匿名内部类、成员式内部类和局部内部类
- Java静态内部类、匿名内部类、成员式内部类和局部内部类
- java 接口和内部类
- java--接口和内部类
- Java 各种内部类(成员内部类、局部内部类、静态内部类和匿名内部类)
- Java 内部类(分四种:成员内部类、局部内部类、静态内部类和匿名内部类)
- Java 内部类(成员内部类、局部内部类、静态内部类和匿名内部类)
- 基础总结篇之五:BroadcastReceiver应用详解
- 数据结构开场白
- BestCoder Round #52 (div.2)HDU5417 Victor and Machine
- “钱三篇”后续之复利现值
- ubuntu设置ssh登陆
- java内部类 和外嵌类
- 103-flume整合kafka
- objective_c
- Servlet 生命周期、工作原理
- VC++压缩解压zip文件(支持密码)
- 警务大数据案例:用手机移动数据预测犯罪_数据分析师
- linux自动备份
- 搭建新浪SAE服务器
- 视频制作小结