java/c++中内部类、匿名类
1.java中的内部类:
class Outside{private String nameString ;private int age;Outside(){}Outside(String str_name,int int_age){nameString=str_name;age=int_age;}class Inside{private String address;Inside(){}Inside(String str_addr){address=str_addr;}void getInfo(){System.out.println("姓名:"+nameString+"年龄:"+age+"地址:"+address);}}void getOutsideInfo(){System.out.println("姓名:"+nameString+"年龄:"+age);}
}public class TestClsss {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubOutside pOut =new Outside("xiayi",22);pOut.getOutsideInfo();Outside.Inside pin = pOut.new Inside("nanjin");//通过外部类来调用内部类pin.getInfo();}}
运行结果
姓名:xiayi年龄:22
姓名:xiayi年龄:22地址:nanjin
2.Java中的匿名类
interface Info
{abstract void getInsideInfo();
}abstract class Addr
{String address;Addr(String str_addr){address=str_addr;}String getAddr(){return address;}abstract void getAddress();
}class Outside{private String nameString ;private int age;Outside(){}Outside(String str_name,int int_age){nameString=str_name;age=int_age;}void getOutsideInfo(){Info oInfo = new Info() { //匿名内部类 用接口实现public void getInsideInfo() {// TODO Auto-generated method stubSystem.out.println("姓名:"+nameString+"年龄:"+age);}};oInfo.getInsideInfo();}void getOutsideAddr(){Addr a = new Addr("nanjin")//匿名内部类 用抽象类实现{public void getAddress() {System.out.println("地址:"+address);}};a.getAddress();}
}public class TestClsss {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubOutside pOut =new Outside("xiayi",22);pOut.getOutsideInfo();pOut.getOutsideAddr();}}
运行结果
姓名:xiayi年龄:22
地址:nanjin
3.c++中的内部类
class Outside
{
private:string name;int age;
public:Outside(){}Outside(string str_name,int int_age):name(str_name),age(int_age){}class Inside{private:string addr;public:Inside(){}Inside(string address):addr(address){}void getInfo(){Outside *Os = new Outside("xiayi",22);cout << "姓名:"+Os->name<< " 年龄:" << Os->age<<" 地址:"<< addr <<endl;; }};};int main()
{Outside::Inside is1("nanjin"); //通过外部类初始化内部类Outside::Inside *is2 = new Outside::Inside("anjin");//通过外部类初始化内部类 注意与java的不同is1.getInfo();is2->getInfo();system("pause");return 0;
}
运行结果
姓名:xiayi 年龄:22 地址:nanjin
姓名:xiayi 年龄:22 地址:anjin
java/c++中内部类、匿名类相关推荐
- JAVA---事件适配器----用内部类,匿名类实现事件处理
JAVA---事件适配器----用内部类,匿名类实现事件处理 1.事件适配器--EventAdapter 下例中采用了鼠标适配器: import java.awt.*; import java.awt ...
- java反射api研究_深入研究Java 8中的可选类API
java反射api研究 作为Java程序员,我们所有人都经历了以下情况:我们调用一个方法来获取某个值,然后代替直接对返回值调用某些方法,我们首先必须检查返回值是否不为null,然后在返回值. 这是像G ...
- 深入了解Java 8中的可选类API
作为Java程序员,我们所有人都经历了以下情况:我们调用一个方法来获取某个值,然后代替直接对返回值调用某些方法,我们首先必须检查返回值不为null,然后在返回值. 这是像Guava这样的外部API试图 ...
- java中main方法返回类型是6_[单选] Java application中的主类需包含main方法,main方法的返回类型是什么()。...
[单选] Java application中的主类需包含main方法,main方法的返回类型是什么(). 更多相关问题 关于超声在人体中传播的速度,叙述正确的有A.与人体组织的弹性有关B.与人体组织的 ...
- 在java程序中定义的类有两种成员_java试题 急需答案 谢谢!!!
三.填空(每小题2分,共10分)1.在Applet中,创建一个具有10行45列的多行文本区对象ta的语句为:2.创建一个标识有"关闭"字样的标签对象gb的语句为.3.方法是一种仅有 ...
- java程序设计专业介绍_简介Java编程中的Object类
这篇文章主要介绍了简介Java编程中的Object类,是Java入门学习中的基础知识,需要的朋友可以参考下 Object 类位于 java.lang 包中,是所有 Java 类的祖先,Java 中的每 ...
- java throwable判断,判断(2分) Java语言中的所有异常类都是java.lang.Throwable的子类。...
判断(2分) Java语言中的所有异常类都是java.lang.Throwable的子类. 更多相关问题 This artical is probably ________. 某企业2010年12月3 ...
- Java中创建线程需要使用的类_如何通过使用Java中的匿名类创建线程?
甲线程是可以同时与该程序的其他部分被执行的功能.所有Java程序都有至少一个称为主线程的线程,该线程由Java虚拟机(JVM)在程序启动时由主线程调用main()方法创建. 在Java中,我们可以通过 ...
- 【java笔记】Java中的匿名类和匿名内部类
匿名类和匿名内部类 匿名类是指没有类名的内部类,必须在创建时使用 new 语句来声明类.其语法形式如下: new <类或接口>() {// 类的主体 }; 匿名类有两种实现方式: 继承一个 ...
最新文章
- CentOS搭建msmtp+mutt实现邮件发送
- PHP 4.4.7 中用 PEAR 类库操作 ZIP 压缩文件
- python 关键字 及代码
- 【小白学PyTorch】17.TFrec文件的创建与读取
- (转)OOP(面向对象编程)的几大原则
- RabbitMQ 入门教程(PHP版) 第三部分:发布/订阅(Publish/Subscribe)
- csgo被会话踢出什么鬼_【解决方案】“CSGO游戏—断开连接,VAC无法验证会话”问题解决方案...
- mysql虚拟列表_「前端进阶」高性能渲染十万条数据(虚拟列表)
- OMG!最难啃的《深度学习》圣经花书,居然新出版了视频课!
- 权威指南之脚本化jquery
- JVM性能优化, Part 5:Java的伸缩性
- 004. Asp.Net Routing与MVC 之二: 请求如何激活Controller和Action
- 王道考研机试指南重写
- Shiro - Shiro简介;Shiro与Spring Security区别;Spring Boot集成Shiro
- 如何下载网页中加了限制的Flash、RM、WMV等视频文件
- 惊艳全网的裸眼3D巨屏,竟是一场视觉骗局?
- R数据科学-第六章用dplyr处理关系数据
- 【英语:发音基础】A1.元音与辅音
- 凯翔:可以同时替代Nimble和Nutanix的存储
- 零知开发板和红外人体感应模块使用