内部类的作用?1、抽象类中包含一个内部接口如何实现与调用 ;2、接口中包含一个内部抽象类如何调用
2018-01-01 00:40
651 查看
内部类作用:
1、可以直接调用外部类的私有成员变量
否则,如果内部类在外边则需要进行复杂的参数传递
参数传递法如下:
或者也可以用构造方法通过this关键字传递
也可以这样写
所以一个篇代码也可以改写成如下
new Outer("swift").new Inner().print();
或者
Outer.Inner in=new Outer("swift").new Inner();
in.print();
同时内部也可以放在外部类的方法当中
1、抽象类中包含一个内部接口如何实现与调用
2、接口中包含一个内部抽象类如何调用
1、可以直接调用外部类的私有成员变量
package com.swift; public class Neibulei { public static void main(String[] args) { new Outer("swift").getprint(); } } class Outer { private String name; public Outer(String name) { this.name=name; } public void getprint() { new Inner().print(); } class Inner { public void print() { System.out.println("The name is "+name); } } }
否则,如果内部类在外边则需要进行复杂的参数传递
参数传递法如下:
package com.swift; public class Neibulei2 { public static void main(String[] args) { Outer2 o2=new Outer2("swift"); o2.getprint(o2); } } class Outer2 { private String name; public Outer2(String name) { this.name=name; } public void getprint(Outer2 o2) { new Inner2().pr 4000 int(o2); } public String getName() { return this.name; } } class Inner2 { public void print(Outer2 o2) { System.out.println("The name is "+o2.getName()); } }
或者也可以用构造方法通过this关键字传递
package com.swift; class Neibulei3 { public static void main(String[] args) { new Outer3("swift").getprint(); } } class Outer3 { private String name; public Outer3(String name) { this.name=name; } public void getprint() { new Inner3(this).print(); } public String getName() { return this.name; } } class Inner3 { private Outer3 outer; public Inner3(Outer3 outer) { this.outer=outer; } public void print() { System.out.println("The name is "+outer.getName()); } }
也可以这样写
package com.swift; public class Neibulei4 { public static void main(String[] args) { Outer4.Inner4 in= new Outer4().new Inner4(); in.print(); } } class Outer4 { private String name="swift"; class Inner4 { public void print() { System.out.println("The name is "+name); } } }
所以一个篇代码也可以改写成如下
new Outer("swift").new Inner().print();
或者
Outer.Inner in=new Outer("swift").new Inner();
in.print();
同时内部也可以放在外部类的方法当中
package com.swift; public class Neibu { public static void main(String[] args) { new Out().fun(100); } } class Out { private String name = "swift"; public void fun(int temp) { class In { public void print() { System.out.println("temp =" + temp); System.out.println("the name is " + name); } } new In().print(); } }
1、抽象类中包含一个内部接口如何实现与调用
2、接口中包含一个内部抽象类如何调用
相关文章推荐
- 如果一个父类有多个子类或者一个接口有多个实现的时候,Spring是如何判断该调用哪个的呢?源码分析如下
- 一个接口有多个实现类,当调用接口中的方法时,如何判定用的是哪个实现类
- Java 学习笔记 (3) -抽象类 abstract 接口 interface 内部类 inner class 继承 extends 实现 implements 包 package
- (转)如何在linux C/C++语言中调用 sqlite 的函数接口来实现对数据库的管理
- 一个类如何实现两个接口中同名同参数不同返回值的函数
- c# 如何判断一个类是否实现了某个接口
- 自己写一个strcpy(char*dest,char*src),如何在函数内部实现防御性溢出?
- 如何实现并调用接口
- 内部类接口的实例化(抽象类包含接口)
- 如何用js实现,在一个页面有个输入文档框,然后点击查询按扭后,调用IE的查询功能在当前页面进行查询
- 抽象类与接口的一个程序实现
- 黄聪:如何在wordpress任何一个页面调用“插入图片”按钮,实现上传图片功能
- 匿名内部类 Anoymous Inner Class, 可以继承抽象类,实现接口
- java基础问题---什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。
- 如何知道一个类都实现了哪些接口和从那个类继承
- 终于发现AS3接口的一个很重要的作用了(甚至不能用“抽象类”替代的)!!
- 写一个MyList<T>的类,内部用T[]实现(不能使用系统的List<T>类),需要实现的接口如下:
- 如何实现IEnumerable<T>和IEnumerator接口,一个ASP.NET MVC日志模型的实现
- 在EXE文件中如何实现调用另外一个EXE文件中的方法?
- 如何调用一个http接口